|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
2 ^# F( v8 }; y$ r6 u/ A经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。7 Z K7 z+ P. c/ X' f
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。4 w# \# ^* K4 q+ q1 X9 h1 Q( u% F
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
- x% s% Z/ \7 @: X
* {& _4 e2 R$ {( g
8 t. E) _& j1 Y8 c8 { Q域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
* n. v. q8 X" j ?# Debian/Ubuntu系统安装PHP 7.46 j5 ^- Q& J+ n% r1 d4 J x- o
apt install -y lsb-release gnupg2/ ?* N5 U& { v% k, |: `$ l& r
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
9 ?4 { e) O: X6 n6 S( X) x+ Z7 Gecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list/ Y7 W8 @4 }3 S0 _9 B
apt update4 e1 P# E% N6 ]; i F# X. _! V
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \+ K& R/ |* @. d
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick( g! @# `" l' z; m
update-alternatives --set php /usr/bin/php7.4* ?' O D! |. a! X+ u4 k5 F1 m
# 启动PHP-FPM1 @+ p8 V! i3 V7 U* j1 i* _
systemctl start php7.4-fpm3 u% X1 J$ h ]+ Q8 S. |# }
接着安装Mysql(MariaDB):
" w: A1 N7 x/ v$ W: k. k$ S+ M) h# Debian/Ubuntu安装Mariadb
3 }* @3 k5 E1 G5 {/ Papt install -y mariadb-server
' a3 k* H! {% u) Y#CentOS安装Mariadb
; R+ k4 w4 c7 u6 ~! ?) gyum install -y mariadb-server5 \3 v- t0 \# V7 N! x
systemctl enable mariadb
4 n, U- _0 ]0 j#启动Mariadb# s8 K' H B- [) O
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:+ r4 C) y" x; W0 s" B: M# K' p
#CentOS系统安装Nginx2 }- X) K2 Y# H
yum install -y nginx
; B9 q/ T1 M/ f- `! @& [7 W7 V2 |systemctl enable nginx
4 D4 R: g7 s5 y" s& \+ C h+ G#Debian/Ubuntu安装Nginx/ |( q7 C- k6 f2 I+ i3 y8 U, ?
apt install -y nginx) I2 Q v% ~4 r0 O
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
& j+ c* F5 t* l: s 部署YOURLS返回目录部署YOURLS的步骤如下: F0 k* B" ^3 b7 a8 f( o2 |
1. 创建YOURLS的数据库用户名和数据库:% g: q8 G! A5 E0 `' \6 j+ r
# 进入数据库
& D6 }/ l- [; U) }2 V8 p# @9 J4 gmysql
9 l( t3 f7 F4 \5 }, y# 创建用户名,用户名和密码改成你自己的
) Y; J& y9 |8 D: A* W QCREATE USER 用户名@'%' IDENTIFIED BY '密码';
/ v* `( L3 J* ^4 Y4 m7 _( {( ^# 创建数据库,数据库名字改成你自己的
9 [/ X! |$ n! X w8 cCREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
5 p$ k4 Z& e6 w" S# 赋予权限
4 w8 W; {- N$ ~6 d! ?3 C' r6 c. lGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';- h) y- @( l8 u$ H7 C9 C8 N
# 刷新权限+ j% ]' @9 b8 e9 @* R% ^% ~( b& E
FLUSH PRIVILEGES;2. 下载和安装YOURLS:
4 d' v0 l) `' V! Hmkdir -p /var/www9 Z8 Q; }' T, V7 [6 m8 }
cd /var/www/
' O; p. x- v& ?0 l7 ?+ N0 Bwget https://github.com/YOURLS/YOURLS/archive/master.zip
1 M# N' C: l# q" U% `: v$ \/ d6 u6 bunzip master.zip$ m8 q- r' F# ~$ r4 J: r1 l; D2 e
mv YOURLS-master YOURLS, y' F/ {$ M# g2 X4 J/ f
# 修改网站目录权限; B3 i0 v Z* {9 A6 b7 M9 m- j: R3 B
# Ubuntu/Debian系统
9 z7 p9 |2 O1 Achown -R www-data:www-data YOURLS
$ `5 |- ?) G' u4 g# CentOS( s/ O+ P8 `+ o4 V. L% v
chown -R apache:apache YOURLS
7 f4 m; H% C% C$ w" L+ {1 @6 tcd YOURLS* r/ Z! P0 `! e+ O0 o- ?1 H$ W) g
cp user/config-sample.php user/config.php5 B" Q" J+ [5 _
cp sample-public-front-page.txt index.php
# O* A/ P9 K- ^7 S& {, O& `4 Ucp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:1 @0 z3 t" p" u5 N+ P2 H
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );( r; S& l& o8 P8 R5 t `
define( 'YOURLS_DB_PASS', '填写数据库密码' );
( r( T0 o0 y2 g: K9 |define( 'YOURLS_DB_NAME', '填写数据库名字' );
& m9 Z3 |: B- }9 M* c, Y& Q# 这两行基本不用改$ d- B @2 e$ L/ i& C' I
define( 'YOURLS_DB_HOST', 'localhost' );
7 x# k3 O2 f& ]' o0 @' ydefine( 'YOURLS_DB_PREFIX', 'yourls_' );
8 l; k. ^3 L2 F2 O" T0 \; y# 填写你的域名,不要加www形式
3 f5 X" _# H8 z% @2 |2 Y0 Gdefine( 'YOURLS_SITE', 'http://你的域名' );
( g* a' U" _) t0 B0 g5 v# 填写时区,国内是88 ]; P3 w6 E$ M/ Y O) l
define( 'YOURLS_HOURS_OFFSET', 8 );
' B4 O7 ]1 H( H/ D# 设置为中文4 J9 M; f- M J* z- W0 F9 J- D
define( 'YOURLS_LANG', 'zh_CN' );+ L$ b, A+ @0 T# K7 V' b' W
/** Allow multiple short URLs for a same long URL/ k$ f7 A. w X. V, e0 Y) t( y
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
3 p: F; g! Q( D$ W5 p ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
! o1 [6 q+ ]" q% adefine( 'YOURLS_UNIQUE_URLS', false );
& |& Y6 m0 @, @% m+ ~' x# 设置私有权限
- r# L/ p1 ~4 vdefine( 'YOURLS_PRIVATE', true );: i. @! |3 g7 M
& @$ _' @) X% p* Tdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );* D. ]" C* H; C+ O+ i" S) o- `& \2 m
# 后台登录用户名和密码,一行设置一个,请务必修改8 _& t+ j% \, d, h. Y; w& l+ `+ A
$yourls_user_passwords = array(
` y- C( k0 s3 j; C '用户名1' => '密码1', z3 F# F8 j4 _! R0 U
// 'username2' => 'password2',
& P: q" E; d& J4 v1 O& O // You can have one or more 'login'=>'password' lines$ O0 |! N2 [' }) ~' P0 Y
);) Y Q2 b3 r, b! y" K% n! s" E
/** Debug mode to output some internal information
# n0 a6 n9 H# g9 S1 `, r2 Z ** Default is false for live site. Enable when coding or before submitting a new issue */
1 q% C9 j6 P% G3 o# N: Z+ K! sdefine( 'YOURLS_DEBUG', false );
b* w+ `- P$ ~# Q# 网址中允许大些字母填62,否则填36 @8 C& C1 b O
define( 'YOURLS_URL_CONVERT', 62 );, R5 C! K. t: [' W2 ]5 Q v8 h
/*, O2 d! P8 [6 ?0 \# p
* 36: generates all lowercase keywords (ie: 13jkm)
+ u: E8 h8 m& W1 m2 T * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
, x7 ]0 t3 `. {1 g * Stick to one setting. It's best not to change after you've started creating links.
8 ]! Y3 W& H- C& ?+ T */; d8 j' X e- M
# 保留的关键字,可自己添加' c% l5 K$ @; l. |
$yourls_reserved_URL = array(- s+ k Q5 ~) N
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',; \) O3 y/ o2 a" {* t2 L9 G2 G% m" H; g
);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。# a' {" K( I- F2 u( t. ^
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
$ ^- s- [6 `0 Cserver {5 \* n1 F) Y$ H# m5 ] m/ z
listen 80;! Y/ h2 \( s4 w U
server_name 你的域名;; Z5 I* f! ^, P3 i8 v
charset utf-8;
# V& M) Z7 J1 y2 K root "/var/www/YOURLS";6 N; J# H1 K" P6 E8 f
location / {7 _% Y w: u+ U: \/ i
index index.php index.html;- T V \& R* N( K$ S1 P
try_files $uri $uri/ /yourls-loader.php$is_args$args;9 X: R7 q% M& }4 R8 {$ U; H
}
2 `2 X" y: E. f0 u) g+ S location ~ ^/\.user\.ini {
' |. W& s! R# w0 R' g deny all;) w0 i5 l9 \* Y1 P( U
}) [# X+ |- t3 L# m* u, D
location ~ \.php$ {. p* r' J$ |9 ?8 d0 k0 q. t
try_files $uri =404;% {5 p2 \$ X* F% ~; f/ w! H
fastcgi_index index.php;
% _" J$ O3 l! P # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;2 D$ C* B% a9 m3 B5 Z2 ^# Z- F
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
; |$ [: {3 }4 u2 i8 q; y( a. I) o include fastcgi_params;
. U/ X# G/ N1 }) s0 a" G* O6 { fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; M+ m" p6 D! M' H: B* A5 U t( u q
}" T* f" m! n# d# i5 P
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 J* d! J2 t+ N- p* t expires max;
: n1 E" [# q" y" k6 J1 ? access_log off;
1 N( p! ?# e8 x+ U- J$ Y try_files $uri =404;: X. O' K2 N+ ^- l5 D
}4 G9 F5 I) u0 m; B) g
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
- E/ h: U% Q8 U1 B" i0 `5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。2 Q# j' @! k. }7 Q$ o
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
" K& R/ E8 ~/ M9 R6 W
' F( h2 K. K7 B1 M. B- o5 o: u1 v) j* D8 d" m2 q* U( \$ k- @/ L
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
! ]) D& `1 h9 _! ?" \ 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。7 @ y, P O& V* _" M3 N& R
首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:. }' H7 c, k, B9 N1 C7 Y$ v
$ n: e$ m; k( u. _( |1 h; ?2 Z
( `$ M, T2 H+ S; C$ ]YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。# x9 i/ r' } {) `
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。# j) x( t' c* J
YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
. V1 ^! [1 i( z% X6 n最终网站前端效果图:
& F9 c; y7 X% T4 Y% d- [$ w0 u$ V Q( i4 _2 a+ \ H# d
, ~! q5 i! ?6 w% F7 _/ I, N( H. A短网址前端效果图后端效果图:
% c/ p5 p X+ F8 U1 O9 r: i& s8 m& n' B' U/ T2 D
5 Y- G5 z0 n; r+ p4 `短网址后端效果图相对原版颜值高了不少。
) F* N/ L/ |4 \, S! ]0 h5 A! s 参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|