|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。! F: M2 X/ e+ l' R T8 l
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。$ o; f: [: @0 M! H1 ` ?5 \! T
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。; g% N3 x/ w/ X0 z
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
8 H. M+ O7 i; i, e
7 O$ V5 _5 }- Q9 O) j4 l0 R8 \
# w# G4 d5 q9 O; q$ z1 w6 f域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:, R9 D9 Z3 r/ C- [: d
# Debian/Ubuntu系统安装PHP 7.49 \5 N T1 j) W3 q
apt install -y lsb-release gnupg2
8 b5 C1 V, H# {# Vwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -# A: V. @( S s. V, w" l; S+ k
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
/ e; p7 C1 @8 \ U: b7 q" `' xapt update8 q+ m. E3 g! h4 B: q5 N+ H8 S
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \& T ]/ n; i( U
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
% p, ~) l: n, J7 i5 L, \update-alternatives --set php /usr/bin/php7.4
; |" V* W$ i' n# 启动PHP-FPM8 z# l M/ v ~1 o! f
systemctl start php7.4-fpm# y/ u+ v$ z3 R+ [$ A1 V. i
接着安装Mysql(MariaDB):
# B; N3 q- h& ~# Debian/Ubuntu安装Mariadb$ E2 z1 D& v% N7 r5 Q2 }
apt install -y mariadb-server" O' v) [) ^6 a$ F& v
#CentOS安装Mariadb
4 l G, h$ ?$ Y" E/ @4 ~yum install -y mariadb-server
2 U# @8 F& v& J4 ]. p9 Zsystemctl enable mariadb
1 g. W/ W4 g" V! a1 V- i& k#启动Mariadb
! b8 t4 O8 j: O, d6 u: W* C. Dsystemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
3 f- v# M4 k4 Y3 @$ Z3 @" h5 J6 k#CentOS系统安装Nginx
- q. H4 e0 ?) v1 Vyum install -y nginx4 N! b2 ~2 H7 r) `% }! K
systemctl enable nginx0 V3 }5 k3 }0 m& b7 y
#Debian/Ubuntu安装Nginx
' ]/ V" F6 v+ v3 O! Papt install -y nginx
; U# ]! j! f1 M% K; g. Y9 S安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
6 E# N+ i; G3 o& R 部署YOURLS返回目录部署YOURLS的步骤如下:
0 E" v1 o/ b: B' ~8 g9 A- U1. 创建YOURLS的数据库用户名和数据库:
) z2 v! O2 ^' a G% S# |2 s# 进入数据库
5 A( r- F$ j0 N: ?mysql. z; E6 Y% m0 {7 O& T7 B" A
# 创建用户名,用户名和密码改成你自己的* @6 {8 l# X/ {0 S' ~6 R3 P
CREATE USER 用户名@'%' IDENTIFIED BY '密码';! o& h! I0 t5 k* J
# 创建数据库,数据库名字改成你自己的
( R! {$ U" R( o) C9 W- zCREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
1 | z! b) x9 [5 A* u3 j6 `4 {# 赋予权限. H* n- `, u) O; q8 x
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
: s" Y1 s+ Q( \- e! \) V# 刷新权限
( n: a! T1 Y& c/ OFLUSH PRIVILEGES;2. 下载和安装YOURLS:
2 C3 e' k* ?8 ^3 X+ @/ M$ Imkdir -p /var/www
9 j' U& j3 n C; n, [/ Gcd /var/www/
5 N0 }4 x5 y X/ o3 pwget https://github.com/YOURLS/YOURLS/archive/master.zip- ?% \$ q6 L8 d7 V
unzip master.zip
; _, b! C O' A- S4 W; |9 emv YOURLS-master YOURLS" H/ _ z# K7 C
# 修改网站目录权限- I! a- q- n! R* X/ ]* ?
# Ubuntu/Debian系统9 _3 m7 \" L9 n; T
chown -R www-data:www-data YOURLS
% J$ O" D% T! X# CentOS
3 ^/ X3 H5 Y2 @6 B7 U( Xchown -R apache:apache YOURLS
; i) \3 D' J# o2 t& v+ g, Icd YOURLS
$ d$ f4 @/ L& a- ?, W3 rcp user/config-sample.php user/config.php
r) [# j. e! jcp sample-public-front-page.txt index.php- F z5 J1 W. _
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
; ^. M: \2 S6 wdefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );
' t8 }2 e' s6 i6 X7 {- wdefine( 'YOURLS_DB_PASS', '填写数据库密码' );
! ^, c% m1 P5 n/ Y' V% Fdefine( 'YOURLS_DB_NAME', '填写数据库名字' );" O8 F+ Q4 I" H8 P
# 这两行基本不用改
5 n5 a& `5 V' n( N2 @6 Sdefine( 'YOURLS_DB_HOST', 'localhost' );
/ p$ _" D" J/ Q z4 Qdefine( 'YOURLS_DB_PREFIX', 'yourls_' );/ _6 S5 d- M9 t# ]3 H
# 填写你的域名,不要加www形式
* L1 L2 b3 X8 k3 zdefine( 'YOURLS_SITE', 'http://你的域名' );7 [7 R) m3 q0 r# ?
# 填写时区,国内是8
9 C5 ^! a& b" W+ edefine( 'YOURLS_HOURS_OFFSET', 8 );
5 n; S& n, R& w% }# 设置为中文
8 F$ N' Q! ^1 {- }% T8 Xdefine( 'YOURLS_LANG', 'zh_CN' );& ?/ [$ V! E% B/ @8 w, ~; @
/** Allow multiple short URLs for a same long URL
8 `5 l0 K0 N) w3 u ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)# D6 C$ A9 a) p8 u y$ I9 V% o7 W
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */- w# e; W) B- u V. V, Q6 D! [1 K
define( 'YOURLS_UNIQUE_URLS', false );% t' A1 c% R& E) b6 S9 X
# 设置私有权限
) e9 s9 Q& p$ e! s+ |! V8 Y% `define( 'YOURLS_PRIVATE', true );
+ |. K# e, A( Y" Z+ a7 A' ^- @0 \7 E; ?, r" s
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );$ V1 E. l M6 k0 J5 W- j% U
# 后台登录用户名和密码,一行设置一个,请务必修改
; p* W% r: M! r/ R H1 U% E) _( y$yourls_user_passwords = array(
& ?% O. v7 b$ W: u '用户名1' => '密码1',( `9 R* y5 H4 `, e8 }. g3 V. N p
// 'username2' => 'password2',; a5 Y, p# W& M1 U3 ^" X* @4 w
// You can have one or more 'login'=>'password' lines
7 H0 m* @; z& u W* [. F );
' C% M& Q" X" S* G% `/** Debug mode to output some internal information
4 W) N; x; V9 { ** Default is false for live site. Enable when coding or before submitting a new issue */6 M# Z8 _" P" B7 @: B! [4 u& M4 H
define( 'YOURLS_DEBUG', false );
0 y* @! q0 q; ~* |1 f3 b* A# 网址中允许大些字母填62,否则填36- w) H' A) D- B
define( 'YOURLS_URL_CONVERT', 62 );
$ z% s& q2 k) ~1 Y/*1 o6 s8 {3 M: u* l0 `7 a+ Y+ G
* 36: generates all lowercase keywords (ie: 13jkm). e4 h, R8 Y9 O' M3 I, J
* 62: generates mixed case keywords (ie: 13jKm or 13JKm)( w, k4 e$ |( d' ]
* Stick to one setting. It's best not to change after you've started creating links.
1 Q6 Q, d; b5 Z4 s2 c4 _ */
6 N1 t/ S: e! ~% N5 X# 保留的关键字,可自己添加
" s" B6 q% ?9 y- A: C$yourls_reserved_URL = array(8 s! n1 g, Y" C: l6 I7 C) T( k+ M
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
0 V% ^: U, P' z0 _$ g);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。# U$ P: x: h8 p- V# S7 b
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容! I, D' M9 c4 ?0 J: D
server {( `% Y9 ~/ L8 N- w
listen 80;
( _# w7 a3 P& p$ \* n; [ [" ? server_name 你的域名;7 t: r& n; X5 Z8 @
charset utf-8;
6 s1 {0 ]8 p* |- M" i0 S$ W6 `2 r root "/var/www/YOURLS";
9 ~5 _- i# F/ N$ Z: P' m. B location / {+ }# I5 ]1 ]* C. i
index index.php index.html;
8 Z3 U* l, B. {/ w3 Q2 x% u& z5 w try_files $uri $uri/ /yourls-loader.php$is_args$args;* B6 f7 e9 g7 {7 L* m/ r& F
}
4 v; a" A) X+ d0 _2 u+ j% b location ~ ^/\.user\.ini {
1 `+ G5 f4 v! n" j5 [ Z+ Z deny all;
/ }8 Z+ V' U- i" `9 [ z* m5 { }
1 C5 u$ b' I+ s1 u" W location ~ \.php$ {
( [3 m! e6 @5 s5 i7 z9 s try_files $uri =404;
% M8 p8 _" w Q fastcgi_index index.php;" w; j' q: |' F4 |( w! |" A
# CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
_; J8 c$ e, ^, f. `9 K2 [ fastcgi_pass unix:/run/php/php7.4-fpm.sock;7 S' Q& B& V0 G- {8 `/ `! l- N- k7 x
include fastcgi_params;
8 b1 R- f8 e9 y3 x; R6 g6 P fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;# L2 D6 ?. ^5 D1 `# Z# t1 p
}- s+ f) D6 }- F4 S
location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
5 E4 i4 k0 Z* _$ R4 x- z expires max;& {# Z9 _+ l: V/ p
access_log off;
3 O8 n; v7 r4 u' Z3 ~ try_files $uri =404;
% g, H: ?6 T9 [: Q' [! C }
4 ^# f9 y$ B! {0 J) n2 c}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
) Y; \( C0 R7 |& x4 C) U- M* e( @5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。( l- e" f9 ~- G- y/ G1 f, A1 U
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
% E7 p8 u s/ E' n8 f1 ]6 g# U. [8 y/ m; i, i8 _! R2 s. X* l# _# R
- g" |6 V1 m/ _5 }5 yYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。, D2 |- k7 I, ?# a# r+ Z
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
7 V+ ]" Q1 j% d8 U( z0 ~' d I首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
4 P, n1 X5 |. ?, H3 |2 d6 V
8 @, u4 d2 Z4 Q( o1 {$ J8 N
" [) g# A; b' z1 qYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。; m4 A' f3 X9 f" U
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。) s- X" G; j' c1 E' w
YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。8 @" X! {$ A( y: A; |7 O
最终网站前端效果图:' h A! @, Z/ k% s7 G- u! e
" Y2 q% r1 s, t7 p& x: I3 J
4 u! X9 I1 U, J& x. B; [短网址前端效果图后端效果图:9 Z j1 L) A/ u3 ?9 w
6 x" E1 n( t' m( o7 F
6 B" T$ r& \3 s; o$ j) o: U7 ~9 y
短网址后端效果图相对原版颜值高了不少。3 ?$ I% u' T* [( {
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|