扫一扫,微信登陆

 青浦修电脑 青浦笔记本维修 青浦手机维修 青浦电器维修

搜索
查看: 1002|回复: 0

使用YOURLS搭建自己的短网址服务 - 青浦海洋数码电脑城

[复制链接]

1万

主题

1万

帖子

5万

积分

论坛元老

Rank: 8Rank: 8

积分
56206
发表于 2022-9-11 21:04:53 | 显示全部楼层 |阅读模式
本文目录
  • 使用YOURLS搭建自己的短网址服务
  • 部署YOURLS
  • 配置YOURLS
  • 参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。* V" s' N) d3 F9 V& r+ s! E
    经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
    ) R3 H5 C$ y( S本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。' t) s( G- s4 H! I
    使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。9 M1 D8 b; ~8 k7 W

    ; c! M; T9 Q! s" b& g/ V0 e
    5 H9 O- S# I4 W+ P+ v域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:/ k$ o! K) j0 w; ?! _
    # Debian/Ubuntu系统安装PHP 7.4
    5 c- ^1 ~( T% n8 Yapt install -y lsb-release gnupg2" ~8 W; e) z6 i& N: E6 v
    wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
    0 o4 v  V& Y6 v* s; Hecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list* _, ^; t8 J9 f( _2 _2 t
    apt update
    1 V5 Q* b% d! Y6 Q* w% b2 t- ?1 japt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \2 p2 z) T# h7 g; o9 P
    php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick% h9 i' r) H8 d% ?: N# k0 T
    update-alternatives --set php /usr/bin/php7.4
    , P+ u8 P# |0 j/ O7 [, G4 m* c$ D# 启动PHP-FPM
    5 S/ p) f& B" E' k& Vsystemctl start php7.4-fpm
    ! r( B5 Y- D. k. K9 g5 T接着安装Mysql(MariaDB):
    ' T2 Y0 F" C: w2 f  ^7 `4 y% M# Debian/Ubuntu安装Mariadb/ K! o0 |% h( |1 m) b
    apt install -y mariadb-server' n, h) F6 \0 M( w: _" H
    #CentOS安装Mariadb
    $ A1 E3 ]: E4 C2 l6 D2 ~1 Fyum install -y mariadb-server
    & x  E% B: b- ~# ^+ ^systemctl enable mariadb- T: U' W9 }$ ^/ |* |
    #启动Mariadb% a9 E4 @( C- j$ d
    systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
    1 ~3 T4 b2 `, e#CentOS系统安装Nginx
    ; ?! D. O8 t0 f# Jyum install -y nginx
    % {% Q: o" ?3 K2 ysystemctl enable nginx
    # \  D4 ~. X; S+ {+ `#Debian/Ubuntu安装Nginx
    1 w5 U% I* w3 x2 t8 D, j$ japt install -y nginx
    8 L4 l* I; K7 ?安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。! N  m  u  [. w, C; W2 H
    部署YOURLS返回目录部署YOURLS的步骤如下:# l' E+ W1 b* ^: W, n  V
    1. 创建YOURLS的数据库用户名和数据库:
    7 y& g- M9 O+ p, g# 进入数据库
    5 F2 l7 D: E. kmysql4 C6 L* f& R8 c* J# w5 O. G& c! g
    # 创建用户名,用户名和密码改成你自己的
    1 T2 l0 ?% _" B. OCREATE USER 用户名@'%' IDENTIFIED BY '密码';
    * h5 z6 p/ G1 f0 E/ v; R0 |; w# 创建数据库,数据库名字改成你自己的; u. L8 c* `4 ^& r' p  F8 ^% u  Z
    CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;$ C- X7 {  u+ q
    # 赋予权限# j9 l; ~3 Y6 G/ }
    GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
    5 F$ z# D, N$ i  S' k- _% R7 R# 刷新权限
    & Q) C6 U" z' ^, a( OFLUSH PRIVILEGES;2. 下载和安装YOURLS:
    $ j: Z7 L1 K9 {3 Q$ vmkdir -p /var/www3 |- a. l- d: ~1 K$ L1 E7 }6 `
    cd /var/www/! p8 P% k9 ?8 X( U3 G# N6 A
    wget https://github.com/YOURLS/YOURLS/archive/master.zip
    ( W% O: G1 n. R9 S" aunzip master.zip" F( U5 e7 L5 C* q1 z; H# m
    mv YOURLS-master YOURLS
    0 V7 |( r0 B0 `( l3 E' K" ?# 修改网站目录权限' Q3 q6 ?/ o2 n: ^. Y1 ?' j
    # Ubuntu/Debian系统
    . Y9 A" O, [0 y2 h. [" Mchown -R www-data:www-data YOURLS
    7 U7 ^! L, X! e3 ]' J6 R# CentOS
    8 D4 G, A4 c2 Wchown -R apache:apache YOURLS
    . n2 |- `5 f( e  h* C) I+ z6 ocd YOURLS, r! q/ r" t0 v! X# h
    cp user/config-sample.php user/config.php
    4 i6 c0 Q. n+ m0 i2 P' gcp sample-public-front-page.txt index.php* I# z9 z5 m5 F( p
    cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:2 F) d1 J& C9 ^! t3 x& \
    define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
    / {) T0 h5 y( U' @define( 'YOURLS_DB_PASS', '填写数据库密码' );
    ; Q+ B$ @7 r" Bdefine( 'YOURLS_DB_NAME', '填写数据库名字' );% o; s' W  r! a0 p
    # 这两行基本不用改
    4 D. O1 b8 T8 q, S. D6 J  v. Wdefine( 'YOURLS_DB_HOST', 'localhost' );5 y: h" D+ ]* m# F' r5 G  f
    define( 'YOURLS_DB_PREFIX', 'yourls_' );) y) m" u* N1 g- V9 G
    # 填写你的域名,不要加www形式0 y% o' W7 P* ~, _$ x" F
    define( 'YOURLS_SITE', 'http://你的域名' );
    $ \  l5 Z) _) G. j" S& v* {# 填写时区,国内是8
    " n' A! B5 L8 M: U) Jdefine( 'YOURLS_HOURS_OFFSET', 8 );
    3 p1 i; j4 W* @: `" d& g& `# 设置为中文
    $ y- Z# Z) P+ [8 ndefine( 'YOURLS_LANG', 'zh_CN' );1 S, E+ R) d8 ^- o) L
    /** Allow multiple short URLs for a same long URL
    5 W3 o, L6 D5 ^: J- j! W( |; } ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
    1 P9 {% b( r! b6 S8 { ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
    : H8 x( U( N7 v/ L- g. u3 `6 R# Y7 p+ cdefine( 'YOURLS_UNIQUE_URLS', false );
    . q( f4 A4 w" a/ g# 设置私有权限
    7 F% f0 }1 m* `3 Q% e3 {define( 'YOURLS_PRIVATE', true );
    # U5 M7 J. ]$ g, a- J4 T! g) j7 E4 @: R2 Y4 K  e
    define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );( e' T/ i0 y# H7 q( ~' l* }
    # 后台登录用户名和密码,一行设置一个,请务必修改
    ! c: T4 O  m0 ?. G+ }/ T/ v$yourls_user_passwords = array(7 [$ Z8 D" w7 W" n  _1 H  O
            '用户名1' => '密码1',- n* L, x0 e$ E: t* j, |3 J1 O
            // 'username2' => 'password2',
    : l5 a6 R  V6 U7 P) O        // You can have one or more 'login'=>'password' lines
    # u0 P, J) q" ?6 f3 F& C( K$ F        );7 ?$ Y! m( U; x+ L0 q, Y" W' c, e; k
    /** Debug mode to output some internal information- l$ s' i# h# r6 b+ Z- E
    ** Default is false for live site. Enable when coding or before submitting a new issue *// b/ D: O' i, Y& m: e
    define( 'YOURLS_DEBUG', false );
    0 ~/ g9 m( \: Z2 ~! {4 [0 r+ ?7 A# 网址中允许大些字母填62,否则填365 X: r9 x3 b8 O. P/ Q% f
    define( 'YOURLS_URL_CONVERT', 62 );' x/ @1 f2 Z3 l$ Y% k1 X
    /*
    9 ~6 i3 l- ?, A) B" } * 36: generates all lowercase keywords (ie: 13jkm)
    ! W3 `9 X# O- a/ N7 r& R * 62: generates mixed case keywords (ie: 13jKm or 13JKm)' ^7 L: G  B" C
    * Stick to one setting. It's best not to change after you've started creating links.2 R" e8 {% H$ ]/ a" N5 E1 }$ ~# N
    */
    - ]9 ^# [: |' V8 J' }* ]% |' c) h$ f# 保留的关键字,可自己添加, v/ ^+ G  q! a! R- T( W9 c; o
    $yourls_reserved_URL = array(. [( T: Z" [6 S; E  a
            'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
    " M$ h( n1 h+ l1 J5 V);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
    1 j& y1 A0 R/ B! E% R: u3 i- }4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
    & o1 [" I% u  C) q  w! X. o: V7 sserver {5 }, U- T5 }7 m* r  W7 w/ \
        listen   80;
    / g1 o; L' G( _  }) R/ T% T& Q/ O    server_name 你的域名;
    ' J8 c8 y8 g+ f6 H: C1 p$ y& o( f# I    charset utf-8;
    1 m9 z; c' g  p1 @$ ^0 U" F* i    root "/var/www/YOURLS";
    # G6 m, g9 \; b    location / {" i$ ]! R4 {$ g  `% _4 Z
            index  index.php index.html;/ k2 e3 N  v: p3 z
            try_files $uri $uri/ /yourls-loader.php$is_args$args;# ], N/ m+ r7 q6 f( j3 t$ R/ k2 h
        }
    . q( A/ A8 {" W) U* P    location ~ ^/\.user\.ini {  a6 z. n* [/ v5 C3 _9 h- J
                deny all;2 i( W3 U, u* I( r1 T+ W% E) t
        }
    / _) `* d+ ~9 K9 ^    location ~ \.php$ {
    # S+ o; E% q6 w4 f        try_files $uri =404;! I; o( W! R2 X( {; g4 Z$ z
            fastcgi_index index.php;
    4 z, y/ g; c; Z% I1 Z        # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;  _. c  ]9 Z& l2 S' \/ V0 X
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    ; m2 H# H, G6 c  S0 m5 J        include fastcgi_params;) q3 X* H0 ?+ n  g3 P, e
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;3 A- z& ?  g+ H9 d% ]$ h
        }7 _; G( \2 T( V3 Q
        location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
    9 S4 `! L+ k  j0 K        expires max;& @- S* V; T* K: x( E6 b1 _2 k
            access_log off;
    % F& z, `0 |- K( K# z        try_files $uri =404;
    6 I  q5 I  G( f3 z    }  T* v9 K5 o1 L, h% U7 g4 g9 ?
    }推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
    & j1 n7 k  E) B7 F$ C
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
    . i1 [/ G6 @' U6 J7 [: Z浏览器打开你的域名,配置正确的话应该能看到类似如下截图:# w. ?, I7 `; {' R6 D9 a* [

    : x7 i- N: w/ Q$ {: Z# x/ u* T  a( @8 r
    2 t9 d4 E# ?" V- eYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。0 K1 m0 F" _+ M8 D8 z
    配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
    4 }: g& B, r% w" R& d7 J: P& y- ^0 K首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:. O* i5 L# V- K+ F9 H8 E

    , l& f0 f) [; Z9 p. k5 X5 j; r. w; _, l1 I
    YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
    2 C2 D6 s: M" a; W% Z9 v推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。' r3 d. m6 ^+ S3 y& ]9 F
    YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
    ! e* G5 T6 M1 K, `( j4 }; h6 u最终网站前端效果图:3 H. b) p4 h" n2 S
    3 F- i9 Y8 a$ m# ~

    ; J6 j9 t, E( J: x$ z- Y) v短网址前端效果图后端效果图:
    1 b/ p" I; s( _" ?" N+ n) k
    ; y7 c/ F# N3 s" j) R% w( H" k& x  Y2 W, n, j8 r) o+ O
    短网址后端效果图相对原版颜值高了不少。& B  P9 o6 Q  _0 i
    参考返回目录[ol]
  • YOURLS
  • Awesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5)
  • 本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Copyright © 2001-2013 Comsenz Inc.Powered by Discuz!X3.4( 沪ICP备18024137号 )
    快速回复 返回顶部 返回列表