|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
/ t# h# }6 h& v8 e$ S经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。, ` ]6 g# n* g( K# a
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。4 g* o2 ^, a1 `/ y' ^3 F+ m1 z4 ?& O
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。& q0 h9 c. M# v
% F+ E7 G. F( e i, w7 ^7 |5 n3 q0 [9 }* v6 O& h! l1 @
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:' D$ Y# O- ^" L0 A6 b5 i. p
# Debian/Ubuntu系统安装PHP 7.4% j' x+ X, A2 h: B4 y) O) e( z7 d
apt install -y lsb-release gnupg2
% c5 q7 L/ `2 @) qwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
2 t; g h* M5 {* qecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list, F% \8 S9 Z6 X& T+ h8 @
apt update9 q0 P4 q, L" C6 H: @, W
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \" ]9 o- G# y; m: z% }& y
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick- ~# A; K2 M$ C6 ^
update-alternatives --set php /usr/bin/php7.4! I1 c# Y& Q+ w. b1 l& `
# 启动PHP-FPM
. G I+ `7 i0 s5 R Osystemctl start php7.4-fpm) @4 ~ i4 J4 J( A0 Q# q
接着安装Mysql(MariaDB):
- K1 v" b1 y* `& K% \' C- ^# Debian/Ubuntu安装Mariadb% z. F. Q# b0 b# }
apt install -y mariadb-server
3 ?0 r* | A! T- Y2 ?#CentOS安装Mariadb1 J( d. x1 q7 }1 B- k! Y* ?8 S
yum install -y mariadb-server
' j* Y- K" |7 ?" h, Q8 |systemctl enable mariadb
7 Q" ~ U) v# \0 k#启动Mariadb& F* ?1 N( I& G; B. D
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:* q, B/ o+ W" \
#CentOS系统安装Nginx
" w1 f0 N) w4 B- D# A- @" Kyum install -y nginx; x; e8 e9 Y& K5 s
systemctl enable nginx3 @0 \2 r" N# O/ J V/ b
#Debian/Ubuntu安装Nginx6 g/ a8 d$ h' Q2 n% n( ^0 ~) y
apt install -y nginx& M- g) g4 h! B3 n* m4 c- O
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。2 r! D3 m' U. P; ^" G6 a
部署YOURLS返回目录部署YOURLS的步骤如下:
" w7 K2 L+ b" Y1. 创建YOURLS的数据库用户名和数据库:, I) f+ A+ h8 M5 y, G5 R! H
# 进入数据库0 {" l' I6 f- ], {; H
mysql" f) f* l1 Z0 P. r. b
# 创建用户名,用户名和密码改成你自己的* }5 M0 x8 v. o! q+ X$ ^+ R
CREATE USER 用户名@'%' IDENTIFIED BY '密码';
" J) u9 R* S; M4 c. \# 创建数据库,数据库名字改成你自己的2 C: \+ \8 d1 y& `6 T
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;% |& z; V Q: q
# 赋予权限' K5 E& _5 c/ N' q
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
, z+ g& J. L4 H2 `0 Z2 S' Q0 r# L# 刷新权限. f) Z$ J$ ? P0 o- R
FLUSH PRIVILEGES;2. 下载和安装YOURLS:! t Y" S: ]# U6 L' }$ W5 d4 k G
mkdir -p /var/www
+ c! `/ k( p8 L1 f' [3 y0 \cd /var/www/! q$ ]: k, O) @! o- x1 P3 ]7 m
wget https://github.com/YOURLS/YOURLS/archive/master.zip
% V4 M! ]$ B& i6 w& [; Y! aunzip master.zip; K. p% s& U: [+ }
mv YOURLS-master YOURLS
5 U" C' E& l- [' ~# c- [# 修改网站目录权限; {& @0 {* l7 m c
# Ubuntu/Debian系统& n( o3 }9 {' w+ c/ E
chown -R www-data:www-data YOURLS+ V N% _- q- S# T! D2 O; i" Q9 Y7 E: `
# CentOS
; o; g! N' P5 x5 E6 ` U* Echown -R apache:apache YOURLS
1 P' |# L3 P1 W3 T. }; ]( z2 T' z! `cd YOURLS
3 e+ \% e. k& H' k, N. Z* icp user/config-sample.php user/config.php
" e$ w3 ~; c6 X5 T y$ tcp sample-public-front-page.txt index.php
4 G+ ]" s3 _! N7 fcp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
( I+ H0 t0 C5 H6 s- d$ wdefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );
2 J" D2 y( Z& o: g3 }define( 'YOURLS_DB_PASS', '填写数据库密码' );
( |( f+ @3 f% T4 ^" o: o* ?define( 'YOURLS_DB_NAME', '填写数据库名字' );
! S6 m8 m2 M+ Z2 o4 R1 p+ z3 `# 这两行基本不用改; \1 N( ]# r$ y
define( 'YOURLS_DB_HOST', 'localhost' );% P8 v- Y% a' a8 r X0 R
define( 'YOURLS_DB_PREFIX', 'yourls_' );
9 q: T/ c5 u# Z# e# 填写你的域名,不要加www形式9 l/ W. ~9 y9 I x
define( 'YOURLS_SITE', 'http://你的域名' );
8 F1 E# l/ \2 a% i8 Y$ m# 填写时区,国内是8+ M$ x2 }1 e0 H; p' s# N
define( 'YOURLS_HOURS_OFFSET', 8 );* j$ M' l5 U" H( O( [
# 设置为中文6 O& ]- D$ I% j/ J- R! U
define( 'YOURLS_LANG', 'zh_CN' );7 k( M7 ~! x S" r+ m! V! Q& M
/** Allow multiple short URLs for a same long URL
3 n3 P! e# F) O. f4 g ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)) g- [, I0 Y# H
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
: T3 Y Z& m. s5 V3 f# X5 kdefine( 'YOURLS_UNIQUE_URLS', false );
, T8 W* ^5 `! v0 C. k( N5 m8 k$ r# 设置私有权限
3 a0 Y+ a$ B# Z0 U- hdefine( 'YOURLS_PRIVATE', true );
c9 ]/ W! D8 t7 B
1 o& y8 q! C) K" F1 Sdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );& ]* t; |9 g0 r+ D+ f) w
# 后台登录用户名和密码,一行设置一个,请务必修改
/ x( j' P- b+ B/ N8 k# M$yourls_user_passwords = array(
3 _0 z: ?( b4 i" z. J6 Q '用户名1' => '密码1',: M1 ^/ {$ [1 j& a8 q, v% u8 q
// 'username2' => 'password2',2 n: d8 r0 X3 l8 _
// You can have one or more 'login'=>'password' lines0 @0 g% v' J& V
);4 t# s6 i; M5 F2 M8 n4 S6 Y
/** Debug mode to output some internal information B$ ]' a) Y8 V# Y; E, u3 `
** Default is false for live site. Enable when coding or before submitting a new issue */) V: W8 E% C" E8 Z- l5 e
define( 'YOURLS_DEBUG', false );
( e# R. P: H, z8 T Z Q9 f# 网址中允许大些字母填62,否则填36
" [& y( J: y! G. ldefine( 'YOURLS_URL_CONVERT', 62 );
1 N' N9 V3 b4 u7 t/*
- k2 M" @4 {/ ?6 G$ G * 36: generates all lowercase keywords (ie: 13jkm)3 B# v9 Q: o* w. v4 |
* 62: generates mixed case keywords (ie: 13jKm or 13JKm); ~( J7 Y, ~& g8 g8 U' j2 x/ ?
* Stick to one setting. It's best not to change after you've started creating links.) r- h& g3 F( i
*/
; A( E1 l. Y/ m$ G# 保留的关键字,可自己添加3 |$ y* G. G* y: ~
$yourls_reserved_URL = array(
% y* N: t/ O+ S) ?. _5 z" F 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
: Y2 s; r4 V- m$ E1 n) S8 W1 {);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。4 D3 b4 G1 M1 A5 t
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容 t$ b. l! ?/ O) N1 b7 ]
server {8 `* K' m; H, s% x
listen 80;- D% z. \% [& ~( D( {2 `
server_name 你的域名;* O2 M2 ^' B/ P( }' B" N I
charset utf-8;
5 H7 i/ U+ w/ w! j$ c9 X% Z root "/var/www/YOURLS";% `8 j6 q/ {/ w
location / {$ \! X7 m2 W" u u% V8 ^% @
index index.php index.html;
6 {9 ~* I- o! ]9 x, [& ~( e6 n6 \ try_files $uri $uri/ /yourls-loader.php$is_args$args;0 r$ [( d: i' w5 U% K! L3 o
}
: f9 n8 @9 G z, k! V) e location ~ ^/\.user\.ini {
' j, J% F g0 z- o/ T deny all;
+ X4 r& O. J8 j( x }+ O8 X5 C# R6 y& l
location ~ \.php$ {
# c& o- m5 I9 {! `, f3 v' {; B" s$ F try_files $uri =404;
+ [; m( i) F m, {$ G+ U8 l; U8 \* L fastcgi_index index.php;
+ B p& P9 O6 P0 ~8 f' L3 A) t+ q: ` # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;" k9 F3 X$ N$ x8 [1 E( Z
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
5 f" q9 o5 @. {0 b: b7 D/ s% r8 g include fastcgi_params;
7 u3 n; Y' M; j' ]$ E/ y fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;% K! F* H r+ K& q2 Y
}0 U4 n+ X1 y" W. L
location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {) J/ I* w* @+ M2 ~- i1 {7 N# \3 X2 ]" ?1 N
expires max;% z* k7 F. U+ t; w
access_log off;% V. Z) }- u( D. k& ~, Z
try_files $uri =404;; k1 A3 h/ d0 k. u* A% x$ }( E9 S
}6 s7 P) U5 ^# \, X s% P' X
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
9 s9 v8 `. n: W4 v- ~5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。$ R G ~; Q4 y% Y3 T/ K
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
6 l# |! j6 Y/ H6 @5 d4 k- ^4 s) Y
1 c d$ Z. a+ G0 ?5 Y* m. K2 f
# J5 ]/ J7 I$ @$ ^0 M$ N3 o: k9 _YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
! E' a1 {. N3 S. S- Q2 M& | 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
3 S2 g( Z- _3 Z. e; E! U& n$ Y# A首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
, Y2 |" s# n% B: m( c9 ?! G0 {1 v( X' q9 `: _/ t2 a' M9 I1 d! W! a
5 D, y. N1 S, U( D; b! aYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。! _0 `/ L/ \) v' Y
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。; G7 D! a a: F1 \$ a" [! U" U
YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
7 P" D6 T) v4 R- Z2 W最终网站前端效果图:# G, I" J1 D" k
S; ^' q) ~6 i/ H5 p
v% }' o% A. a) `9 j9 e短网址前端效果图后端效果图:
7 b) |) D* z- h
# n) G/ c ~& R1 Q" p4 p
' r! A1 l2 G+ M0 |1 ?2 _短网址后端效果图相对原版颜值高了不少。
y; o& K3 X3 m; J' n3 x6 L, V 参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|