|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
1 f$ |8 p. R* |/ ^经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
% B; e# o {1 Y: s& m {本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
' u' Z) @0 H$ ?8 } ?: a 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
5 f- t r5 \2 U( P2 ?8 x
( @0 r0 b3 ^" K* n
* N0 \' m5 k6 W6 g T6 U$ i! }域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:) j1 _, J; U9 A$ L: h4 b2 p
# Debian/Ubuntu系统安装PHP 7.45 Z4 a, N; {9 I/ Y# J
apt install -y lsb-release gnupg2
8 g9 O6 F' {* A# {+ jwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
; s& O" t) c- aecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list8 L/ p4 u. g7 T1 y! K- V$ n
apt update
6 U5 ]# p& f4 u% Uapt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \: E5 v6 R/ o4 k9 ]# o2 d
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick# f$ v( u9 {: T6 L) R! G
update-alternatives --set php /usr/bin/php7.4
4 j k4 W- T1 n) w6 t8 H( J) N6 z" f# 启动PHP-FPM% x0 ?7 Q5 p8 s4 L4 e! X/ j
systemctl start php7.4-fpm
! p# m* s) R' V: f& [$ E& }$ _接着安装Mysql(MariaDB):8 L; ]& t7 ]0 ~: P3 Y$ @0 C5 ]
# Debian/Ubuntu安装Mariadb
# { j8 h; C. v8 u8 n5 rapt install -y mariadb-server2 W l8 r; a* F. c/ J$ ?3 a
#CentOS安装Mariadb
. p& i2 q' @( c; k+ B$ x Uyum install -y mariadb-server5 T% v( Y% q" V; N9 q, _# w) O* F
systemctl enable mariadb
: U: ]4 s2 B$ M% |) @#启动Mariadb
/ M k& w. R7 \$ j( u- F. D, C ^systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:1 k: B. Q+ s+ @) k
#CentOS系统安装Nginx
) D7 H8 t; l% m, b! G2 t; ]yum install -y nginx9 U& N4 C1 M- r$ a' q
systemctl enable nginx1 _7 S' L3 V* U% c; c
#Debian/Ubuntu安装Nginx
2 U* p$ p5 Y& ~2 Z9 C9 rapt install -y nginx. @/ K7 m' Q9 `5 i. V
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
3 Y8 o/ y9 Z, m2 e% O 部署YOURLS返回目录部署YOURLS的步骤如下:
! m- a$ @* m( v; t) t7 [1. 创建YOURLS的数据库用户名和数据库:
; J) L# [( a, I# o# 进入数据库; R$ @' E3 e" u) H4 m4 u0 B7 L
mysql0 p0 X" |! O( ]
# 创建用户名,用户名和密码改成你自己的
3 g, x. V* c2 \4 u8 r# Y! ?CREATE USER 用户名@'%' IDENTIFIED BY '密码';
8 A3 o M& C; p9 s7 a# 创建数据库,数据库名字改成你自己的
$ k. [0 g/ A. h/ UCREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
" U) g& S$ T, P/ \, S# 赋予权限
M5 `/ g$ t& ~* z, F# dGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%'; i5 j. c! B3 j+ A: D" i+ k
# 刷新权限
4 t, C1 M' R1 W# r7 t- cFLUSH PRIVILEGES;2. 下载和安装YOURLS:
V8 e1 o2 i- R4 d7 Y6 D O nmkdir -p /var/www* ]6 e6 W% q, h* ?
cd /var/www/
: W6 ^5 [% n/ X9 `) ?; z7 ^wget https://github.com/YOURLS/YOURLS/archive/master.zip. c# T- w1 C* _" y0 r0 M4 w3 }
unzip master.zip
j* _. r% n: D4 rmv YOURLS-master YOURLS: q6 T0 L: e' n
# 修改网站目录权限
) p) `% b0 h$ i& ~$ ~0 y# Ubuntu/Debian系统
6 T' ]8 F% a+ p6 ?7 fchown -R www-data:www-data YOURLS, M1 f0 S! k% D9 S" e/ N3 P
# CentOS9 z3 t6 a& C! f. ]% j1 G0 `
chown -R apache:apache YOURLS" l/ p& E' k. {9 j
cd YOURLS, q2 q0 _+ O) r* Z" N0 x" G: |
cp user/config-sample.php user/config.php/ [# I8 I. g4 ?4 f% S1 R" w, t
cp sample-public-front-page.txt index.php6 G" P! I$ C, m6 R8 `/ P
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:& K X ^' S( _% o, ^! d
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );/ K2 W6 ]" a: e+ u
define( 'YOURLS_DB_PASS', '填写数据库密码' );
* L1 J/ _; B7 U h* ?% F: ]' V3 edefine( 'YOURLS_DB_NAME', '填写数据库名字' );
4 \& {# m; S% u% _: ?# 这两行基本不用改9 ?7 Q6 z% |2 G6 Y) j, A
define( 'YOURLS_DB_HOST', 'localhost' );. b$ p5 r/ u' k* y, K- `5 G* r
define( 'YOURLS_DB_PREFIX', 'yourls_' );9 x8 t# ?6 l9 D* F" I
# 填写你的域名,不要加www形式
7 s8 E0 {. y8 S5 ^$ L. [define( 'YOURLS_SITE', 'http://你的域名' );& y$ A* G$ u; T" q/ t3 `8 O3 c
# 填写时区,国内是85 b# j8 n- g" x [
define( 'YOURLS_HOURS_OFFSET', 8 );
% N! T. J# s3 p1 t! _; h# 设置为中文
: ] w6 _4 j, Fdefine( 'YOURLS_LANG', 'zh_CN' ); O0 s( [9 {7 L5 [: o, v* ~' u
/** Allow multiple short URLs for a same long URL# m9 Y7 R) f. i0 S" Y' I1 v
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)0 ]. B9 L/ a' T' J0 P* U5 |
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
# f5 i# w( z |! n! mdefine( 'YOURLS_UNIQUE_URLS', false );
2 {& D% O: P& D% ?, D( p6 |# Y# 设置私有权限
) q* q v' L& W4 udefine( 'YOURLS_PRIVATE', true );: O/ X) h' `2 T7 h; |# N* F5 `" t
9 |+ R" A9 g! Z% P Xdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );# ]1 L, D! G$ Y
# 后台登录用户名和密码,一行设置一个,请务必修改
( A) J: R& N# R4 f$yourls_user_passwords = array(
( _: f+ d, X7 n, \! a '用户名1' => '密码1',! s$ j1 B: G2 u2 [9 c
// 'username2' => 'password2',
% {/ ^6 s3 g+ X0 |. a/ I // You can have one or more 'login'=>'password' lines
8 ~, S( p# f- D3 M9 R9 e* { ); i3 i/ ?' u+ k3 f; C0 h
/** Debug mode to output some internal information j- p# Y4 e* f1 R
** Default is false for live site. Enable when coding or before submitting a new issue */
; R- U& P3 p+ n5 l& Cdefine( 'YOURLS_DEBUG', false );0 L x3 `: J$ [ _. T+ y
# 网址中允许大些字母填62,否则填362 d% P. T$ t' @3 x# R, R* n
define( 'YOURLS_URL_CONVERT', 62 );% _$ Y" Y8 n' [1 X* M2 O
/*5 V4 h- V& l" ]
* 36: generates all lowercase keywords (ie: 13jkm)
& l4 `4 N, B9 S { * 62: generates mixed case keywords (ie: 13jKm or 13JKm)0 |! l! C! W4 \3 ~
* Stick to one setting. It's best not to change after you've started creating links.3 U) r7 H- h+ @- U
*/8 p* o! G7 S2 x6 l3 a1 A3 j/ R6 Z
# 保留的关键字,可自己添加3 y5 s1 O- q5 |; A- G0 a1 i
$yourls_reserved_URL = array(3 @+ @5 h2 V, r5 X& e$ D
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
5 y. c% K1 W; S; R* \% h$ w);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
9 h I' R4 ?5 @* O4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
+ x2 i) ~- [: v! o4 j, Xserver {. [0 ^9 a# X$ ^$ S" K- x( M
listen 80;* i* R! _5 }" F& O9 X- w
server_name 你的域名;
$ B6 A( h, ~: ]: v% f. q charset utf-8;
1 s3 ]/ ^9 R) W$ B4 ]1 i/ M root "/var/www/YOURLS";7 U3 o0 H3 [9 t ` x2 p u# y" n
location / {
7 ]6 @9 M% s% h G& z2 o- D index index.php index.html;
2 J" x3 ?- n* j- B D7 g5 V try_files $uri $uri/ /yourls-loader.php$is_args$args;
" \% o0 d) c; g3 i$ u% ]3 o8 s. B }; w* z) d8 b2 M. m/ r9 s/ X& D8 g
location ~ ^/\.user\.ini {/ V6 Y- z/ W& _. v# `0 v, B
deny all;$ T( \$ y/ z- v4 }: v- E: A
}' k. b: W3 n @7 {+ T$ c& Q9 B
location ~ \.php$ {
# Z4 L% u! E+ \ try_files $uri =404;" I% a1 a9 F, Z q4 {9 P
fastcgi_index index.php;
( z. d3 J3 L5 K) ?8 n5 J( e # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;- f+ {- u! m" R$ G% |% M& o! R% d
fastcgi_pass unix:/run/php/php7.4-fpm.sock;# C# e9 p! }8 X9 c* P
include fastcgi_params;
; l# G# P# |! C% V0 h* q fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;9 Q0 H# r# }' ^/ J% f
}
; E4 U$ F1 P3 k3 M) [ G* n location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
- t) Q m/ t; p0 J; \ expires max;
- b) u9 n% Z7 N5 P, ?# H0 G access_log off;
2 ?3 H* R. @* `# O# n; e try_files $uri =404;& b1 Y1 V2 _/ ]0 N9 |( ]% ^4 {- l
}4 ^- a" N8 S; w) P ?! ?9 J
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
+ [. [% J* E( o: w$ S* M5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。1 a& L- o* z% {- ` \
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:* W, b ^* j5 J) Z
+ J+ k9 ~- C4 f2 n
N: ~* H$ p* b. b3 a2 [YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。) |2 q! Q. a. d, [9 @
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
' ?3 [- }7 Q0 D7 L) r; M. C首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:0 e! q: k6 [7 [& D' h- E; ~; Y# a
% w4 C' c+ t. b& L8 I6 W1 J
q& ~% Q) C% _+ b1 }# Y" o/ ?YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
" K X/ x: x( n4 v( }& Y推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
5 T; I$ o, a6 Y! v' e7 iYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
% e5 l6 N5 v) p% x6 H' _/ H最终网站前端效果图:' L* b+ N: }* C8 W$ F. A# O
+ e4 M# H3 D# E4 @6 X4 } p) D; U: u) M8 Q$ }) e* M9 K
短网址前端效果图后端效果图:
" E" w- ~6 ]$ E" ?3 p4 s: M' l# } k" m* ]/ D1 f+ W7 h# B4 Q! R
, g1 k0 t# S' h$ _
短网址后端效果图相对原版颜值高了不少。, I5 l* e: {/ C, A B
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|