|
|
发表于 2022-9-11 21:04:53
|
查看: 1239 |
回复: 0
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。3 ~! o; z" g- ]5 E* f3 d
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。/ \4 W V" F! i7 N4 U: [
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
M- _" o2 f9 L) v: y" u: h 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。5 ^. E) {0 G/ ~4 V& p& ^+ _
& ]6 F+ E9 V* N
* J. g6 z4 h: C. n域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
5 F! j4 ~# C/ R# Debian/Ubuntu系统安装PHP 7.4
+ h# U, f- v0 T! ^. n, sapt install -y lsb-release gnupg25 Y: l, p O& e' m1 {3 K
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
1 }; M4 }2 A2 j( b1 ~echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list; w& C: g+ _% I' v( Y2 T
apt update
0 f' L0 ~3 ~# N! X, Lapt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \; o, }8 C- E+ u) q
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
' K6 F1 M0 P3 kupdate-alternatives --set php /usr/bin/php7.4
& B+ ?0 B G; j7 o! ?# _# 启动PHP-FPM: e E6 L3 ?. P6 T- _) `
systemctl start php7.4-fpm6 ^2 y, v: s8 ~. b
接着安装Mysql(MariaDB):, h' w2 W1 {' w
# Debian/Ubuntu安装Mariadb
6 }' x" Z9 @9 o, V0 A: uapt install -y mariadb-server
4 c- n2 S5 {1 x9 ^& P: @# T#CentOS安装Mariadb
7 U( U( o# @. T! D! Pyum install -y mariadb-server
, f. S! V9 F/ Y& `systemctl enable mariadb0 w. d- r, ?6 K# e7 g+ h
#启动Mariadb
" h; _' f# I% x0 Y& N }. k% l: Csystemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
3 G' T8 Z5 E% j- ]#CentOS系统安装Nginx4 ~- f* z% z! f" a! y$ z8 |
yum install -y nginx
, b6 r6 i/ N( t osystemctl enable nginx
: c; x9 \) t: N( l- V/ D. J" e9 P% }#Debian/Ubuntu安装Nginx
1 D b, m' p" v+ Zapt install -y nginx. z' L; ?; I5 p) E- E4 ?
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。& }( ]# P7 ~8 E3 s% W2 p
部署YOURLS返回目录部署YOURLS的步骤如下:3 c$ R3 z4 E* h9 |4 a6 F
1. 创建YOURLS的数据库用户名和数据库:# s( D1 Y% `' Q; U+ _
# 进入数据库
; g1 j+ s: B+ c0 x* smysql
9 k5 Q- A Z- R+ A$ Y# A9 a4 k {# 创建用户名,用户名和密码改成你自己的' U; e, Q7 e* q
CREATE USER 用户名@'%' IDENTIFIED BY '密码';
5 A0 P& K" [" ]9 z( ?- b% T( v# 创建数据库,数据库名字改成你自己的% x" m5 X2 ~) e2 q2 P; k
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;& o- S5 f F, z8 n6 G8 d* u
# 赋予权限+ {* Y4 |$ {9 f6 ?4 Q
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
8 W( y- @% \$ r" b9 ^/ A# 刷新权限" W: K7 x" |+ }# Y [" q: m4 @" m7 o
FLUSH PRIVILEGES;2. 下载和安装YOURLS:; ?# m' q2 `' E, {% Q
mkdir -p /var/www1 D/ B/ y$ h; r% d
cd /var/www/, R) Y3 d' B( X+ J
wget https://github.com/YOURLS/YOURLS/archive/master.zip1 o5 e7 W; q" A I2 Z
unzip master.zip
4 _% @7 a) @# b# d4 ^6 j4 Gmv YOURLS-master YOURLS# y7 j2 r! \5 m% c4 U L( ?
# 修改网站目录权限1 V/ _" ]3 }3 {$ p6 S/ w( z) ?
# Ubuntu/Debian系统
+ t# }% J! a' `$ _, K2 O! m9 a" W: kchown -R www-data:www-data YOURLS
/ f3 I* l2 l+ ~# N' B# CentOS, S6 k" ^) {+ n3 n
chown -R apache:apache YOURLS
! y; V+ B9 F0 e; c( M" gcd YOURLS
) v. c1 o R; `3 ?" ?cp user/config-sample.php user/config.php. E" ~% ~ J- v% `6 P6 S) w. `; U
cp sample-public-front-page.txt index.php' j" o/ O4 j0 @ F9 D
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
6 [7 M" S! T `0 t- qdefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );
; D/ Y' d7 p5 {* k/ rdefine( 'YOURLS_DB_PASS', '填写数据库密码' );9 J1 r) ~5 w- y. m& ], v
define( 'YOURLS_DB_NAME', '填写数据库名字' );
2 z3 B! o8 n& n0 g3 Z2 [! P. M$ u# 这两行基本不用改
3 c5 l d/ f E t4 ]4 C$ ]define( 'YOURLS_DB_HOST', 'localhost' );0 s% l' U! C4 K- N
define( 'YOURLS_DB_PREFIX', 'yourls_' );
' c0 D' |* h6 w" t9 ?$ j# 填写你的域名,不要加www形式/ n6 H& ^8 z. z+ k9 [. m2 b, G
define( 'YOURLS_SITE', 'http://你的域名' );
4 F( x/ W6 J: v2 A; \# 填写时区,国内是8
2 k- l* s7 b; }2 A0 H) L8 b* hdefine( 'YOURLS_HOURS_OFFSET', 8 );4 E) e' _7 q( y& D
# 设置为中文
: L; h d" Y% ^( P: P* N% ?define( 'YOURLS_LANG', 'zh_CN' );0 }6 A6 @2 Y# K1 `, u
/** Allow multiple short URLs for a same long URL+ }! J* U/ R9 o6 {( K+ p# \( t- |
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior), r+ m @: W! ]* e2 T+ V: q
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */. q5 ]1 U7 B: |" h$ W( e; Q
define( 'YOURLS_UNIQUE_URLS', false );' K( z+ J1 J& V" X5 O) c
# 设置私有权限
]# |0 {4 h) i8 g1 Vdefine( 'YOURLS_PRIVATE', true );% R# e6 k8 W, v6 L4 o7 R
0 h5 Q0 c+ R; ~1 A$ o* H/ ?+ Rdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
x3 Q, \: g+ G1 r4 F I' V3 u# 后台登录用户名和密码,一行设置一个,请务必修改
& f; @ p6 W# T; \ w1 Z$yourls_user_passwords = array(; d) _1 U, n8 l- w* k Y
'用户名1' => '密码1',
& o7 l G- j6 f* I( u, k // 'username2' => 'password2',1 d) M9 y6 h3 @: h+ m3 F
// You can have one or more 'login'=>'password' lines0 ?5 v: d9 ?. N, D
);, O$ {! u; [: A0 \9 r, f
/** Debug mode to output some internal information4 E( B# x1 X2 D( _; K+ w
** Default is false for live site. Enable when coding or before submitting a new issue */
1 e8 P9 e# I6 v, q+ O7 M9 Cdefine( 'YOURLS_DEBUG', false );; r* c5 _/ } K+ t8 ^
# 网址中允许大些字母填62,否则填36
% D/ H+ y, `% R& Z' gdefine( 'YOURLS_URL_CONVERT', 62 );
+ ^, ?6 ]/ h Q: s' P0 T/*4 U8 K$ K& S0 M! {% b
* 36: generates all lowercase keywords (ie: 13jkm)
2 |: B5 v( p! a! B+ `" @/ G6 ` * 62: generates mixed case keywords (ie: 13jKm or 13JKm)- c# w5 f# e4 q$ R& P& [4 b; a4 h
* Stick to one setting. It's best not to change after you've started creating links.
3 |9 @$ T" r+ x2 b' x" b* H */+ N3 K% u; P! o) ~# q6 Q
# 保留的关键字,可自己添加. |# A2 S1 T |6 q* z* `/ n
$yourls_reserved_URL = array(
3 Q5 l( S, f3 j; n 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
) U: m) I) f" h9 Z);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。9 V6 d/ j- \1 z2 p
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容" W6 O |& S% T. S! l; U0 d
server {% `- M, P+ s- P) m# L- A
listen 80;
/ g! l# C$ q, k1 ? server_name 你的域名;
5 K7 l6 r) J( ]; x charset utf-8;
2 f9 Q: z% j+ b6 ]5 Q4 [ root "/var/www/YOURLS";9 o# C" q) N" M3 P
location / {) G- Z9 L& y+ o# c! H# x3 [* {+ T
index index.php index.html;) u. o0 R8 _0 ?* G
try_files $uri $uri/ /yourls-loader.php$is_args$args;4 W, r% d- W8 H8 U6 H0 c
}
- k# o1 f3 Z( {9 v5 p5 G location ~ ^/\.user\.ini {+ M# _2 D* X! b( d& \0 t
deny all;* |- e8 M$ e. Y2 h
}8 b* I! L; f+ y) A0 ?! k: @
location ~ \.php$ {% A6 {6 \# T* g+ a {6 l; A" d0 H
try_files $uri =404;9 x' Y7 `5 N6 D
fastcgi_index index.php;
( h2 h$ ?2 g( K7 G7 k5 M: I # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
) i- m( F2 v) `" u7 i; {2 ?' i fastcgi_pass unix:/run/php/php7.4-fpm.sock;
! O4 T* M' z) l. I" m( b include fastcgi_params;2 a9 M* f% S" Y$ I& L6 a
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- ]0 K7 L* t( u4 N. `5 m }
3 q+ K( t' u4 \9 M! C4 t( z" o location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {/ K6 s/ N8 R" B; \! g
expires max;/ H( f2 M) V, ^0 Y4 K
access_log off;: S5 o0 f+ k4 Y
try_files $uri =404;' Z; ~+ C M$ i9 K
}
& v2 O0 Z. m- v. A# N4 |}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
6 y& ^ y: t( |0 g" I8 K; S. z! C( j5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。 K( D8 O8 M# B6 j- r7 D0 F$ c
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:4 `4 j5 \6 x3 S; P" m; x0 B M
! e3 m2 [: L2 e! u# }
+ k( G6 ~" p# s, I6 qYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。3 v; e: x; y5 c: P! t5 N5 R6 M# r2 I
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
0 I9 @. n$ R1 ~) P: O7 l首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:: i' i- Y- r; A& B/ v& b
. x8 d2 t, B( w) Y$ y' o: N
# z$ e' p" G s" w
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
0 G& o, P' D9 p: }推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
& G! _- V' l4 r1 A* O& RYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。# m) l8 k2 {2 k: J! z) U
最终网站前端效果图:% U! M' h1 L9 i3 D3 a
" W6 y8 _' v% f. H' O
, ?1 E# ~. {" V1 U9 B9 @* C+ [短网址前端效果图后端效果图:
5 I4 t% \8 @; N1 |; ^; L; l6 J$ ?7 R8 m2 ^
1 V+ ?% V% F' e; m; |2 Q短网址后端效果图相对原版颜值高了不少。
* |# t- W8 ^ O" f6 Y 参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
|