|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。* }" V0 \$ Z- R+ B1 O5 N7 ?' d0 B% [
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
S3 |" V5 {% Q6 A' l( d本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
y6 L5 ]2 Z# C* `3 j4 [3 C 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。( i: O3 l, N o# [9 z. A
/ e+ P* O, `# ]: N
5 A" g! c$ p) V3 D/ U. i3 R; O% {域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:" E* w! A* S+ I' @* C" n" W
# Debian/Ubuntu系统安装PHP 7.4
/ p! l8 B5 p4 ^; T, s6 bapt install -y lsb-release gnupg2& y- O# ]% N3 w! B* s& O- ^3 Y
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
e, T2 v5 T. x) N6 J; qecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list% T2 r, q! q# R- E" _+ x$ q# A
apt update
# I1 U( m9 k+ S% S" Z& dapt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \5 |+ o4 u9 L, C3 B& J
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
% l" a1 A9 b8 |2 Y/ Vupdate-alternatives --set php /usr/bin/php7.4) C8 x" [5 \" B% W4 x: j+ X
# 启动PHP-FPM
! ^+ `! g( V2 }& q$ W; Wsystemctl start php7.4-fpm
8 K9 Q. \8 M7 O. U \$ k! U接着安装Mysql(MariaDB):
( t5 ~* |7 o$ v9 t2 v# Debian/Ubuntu安装Mariadb
( [! ?! A2 s4 ]- L2 L$ Dapt install -y mariadb-server
3 [+ D# h, o9 N8 @" N, l& Z#CentOS安装Mariadb
# p; ^0 }( G: f+ P* V2 wyum install -y mariadb-server
$ Z& u8 N+ Q0 y: U1 Fsystemctl enable mariadb
( S* ^3 Y1 n% u7 L+ |; _/ w#启动Mariadb' }8 E9 i7 Y/ K `2 O* S/ k" v
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
4 {4 U6 W$ M! y( t3 J#CentOS系统安装Nginx
% i# ~6 x+ W8 W4 Y' y8 nyum install -y nginx
% M2 I5 S- ]+ s3 o9 e% xsystemctl enable nginx
9 _$ Y6 E3 R0 X; |#Debian/Ubuntu安装Nginx
! u0 ]+ B' ~: ?. A. g: K( Z/ Iapt install -y nginx$ |) U* A# [+ _' D
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。: u& d* |0 W( \) b0 }% x6 S
部署YOURLS返回目录部署YOURLS的步骤如下:# o' k% B1 @( C2 ^8 W: ^8 g
1. 创建YOURLS的数据库用户名和数据库:# G; {/ Y" v6 F* w9 y! @4 O7 N* l; ]
# 进入数据库
8 z! D1 S) L3 V$ h4 o5 S/ umysql2 s) b/ K; c# ^0 [6 O. `/ D) k% l
# 创建用户名,用户名和密码改成你自己的
* o' ?: w0 I* i( x4 D( ]CREATE USER 用户名@'%' IDENTIFIED BY '密码';% Y; P' I9 j6 }& Y
# 创建数据库,数据库名字改成你自己的
5 p# \/ I% }1 UCREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;3 X* w/ L$ d! m: E9 B- l
# 赋予权限1 \3 X0 o7 J0 m
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
, t) ~ x6 o* z; K$ y7 Q9 X1 I* P# 刷新权限
+ l% g# D- P) C4 |9 g/ [- z4 aFLUSH PRIVILEGES;2. 下载和安装YOURLS:$ P0 Y6 O& M" W; Z4 _, Q6 c: _
mkdir -p /var/www5 H/ e/ Z$ O5 B
cd /var/www/
5 O6 x2 M! Y; W8 lwget https://github.com/YOURLS/YOURLS/archive/master.zip h0 t% G9 R. b# E& r; B) \, }
unzip master.zip
$ q2 X# `6 V4 }9 q& g$ P9 o! [# Amv YOURLS-master YOURLS! L9 T+ G2 F9 Z7 i
# 修改网站目录权限
* Q' }4 i4 Z& B& G1 J# Ubuntu/Debian系统4 N4 M: m: v O4 \
chown -R www-data:www-data YOURLS
# U# a! T+ m* F4 ` d# CentOS' Y; p1 @. G$ N% {2 ~
chown -R apache:apache YOURLS
2 p2 R. E! l: p/ I9 ^$ scd YOURLS
% S" Z6 g# y; C7 i' C/ R# `7 Scp user/config-sample.php user/config.php5 l0 @) `9 f" b& h( {) z9 t
cp sample-public-front-page.txt index.php
4 _# J$ c! j0 v' L3 ncp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
& N! y* q0 m* W6 Qdefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );7 H0 H. d- Y% T
define( 'YOURLS_DB_PASS', '填写数据库密码' );
, j4 [. S3 ~; fdefine( 'YOURLS_DB_NAME', '填写数据库名字' );
8 z0 s, W9 W% u/ o; j# 这两行基本不用改
6 v; i) m6 r+ F0 odefine( 'YOURLS_DB_HOST', 'localhost' );, W: Y v; }5 d$ M8 P& p; P
define( 'YOURLS_DB_PREFIX', 'yourls_' );9 ]! k0 I5 t4 C
# 填写你的域名,不要加www形式8 v( U7 H1 _- c% W- m
define( 'YOURLS_SITE', 'http://你的域名' );) r3 I: P) e9 y
# 填写时区,国内是8
9 F X2 E. s" Zdefine( 'YOURLS_HOURS_OFFSET', 8 );1 d1 M% f6 E7 _( _' ^. m- S) `, k
# 设置为中文7 z a9 l% B! @) K( D2 Q! w
define( 'YOURLS_LANG', 'zh_CN' );0 g( W6 `$ X, M7 g" H3 c2 y3 B
/** Allow multiple short URLs for a same long URL/ k( \/ ^6 r" P* z! c2 S- B
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
& I, c5 u* S" _$ q ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */% _! z/ [4 {6 I$ n( o/ s5 H
define( 'YOURLS_UNIQUE_URLS', false );' f: U6 k( T1 k
# 设置私有权限
- d4 Y( O, f" W! x# ^define( 'YOURLS_PRIVATE', true );
0 q0 U1 r U- f. b! E1 ~8 @; t+ Q6 d, @' T8 y( l7 m0 h
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );% A% i9 f% l1 n y. ?
# 后台登录用户名和密码,一行设置一个,请务必修改
3 x; E% y+ ]+ ~* D( x L$yourls_user_passwords = array() J8 u. E0 v8 d
'用户名1' => '密码1',
" ?- u; C; [: K5 M& B; X // 'username2' => 'password2',7 X D% Y) `" l$ C2 L
// You can have one or more 'login'=>'password' lines6 ?% T# c0 l: L
);
8 r2 ~4 J. H f3 {3 \6 @/** Debug mode to output some internal information( u: m5 V. Y2 P: o' Z
** Default is false for live site. Enable when coding or before submitting a new issue */
' Y/ S( O9 {, m, @ Wdefine( 'YOURLS_DEBUG', false );! O9 x+ i! i* N1 L+ p
# 网址中允许大些字母填62,否则填36
1 r, m. u; y1 R/ J! P6 k% [define( 'YOURLS_URL_CONVERT', 62 );
- X# Q4 {# I1 U( N6 }, V/*! A( ]' {% J" a5 c, P8 f! |
* 36: generates all lowercase keywords (ie: 13jkm)
% z: |% T/ `4 G4 P8 E * 62: generates mixed case keywords (ie: 13jKm or 13JKm)7 A: G' P$ T6 B; w0 l. [
* Stick to one setting. It's best not to change after you've started creating links.4 o0 f' |( e7 E( G
*/2 L) @2 [; O) C+ D' e* q
# 保留的关键字,可自己添加
5 d x0 u" ?( p8 Y. F+ |: `$yourls_reserved_URL = array(" g1 b! Q+ P. m ^
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',; ]1 i* @$ H1 k2 [' y
);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
, ?6 u9 E# y0 y4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
2 G% g$ D+ @ P' jserver {
8 d( j4 I$ |+ A3 N listen 80;; V% R) X# Z* Q; }
server_name 你的域名;
. r8 M9 d4 p( M% X' [% ~) Y charset utf-8;. `! i3 V4 Q. w' a
root "/var/www/YOURLS";
. B/ F3 c+ B' y" t" x s& g; { location / {
$ A9 W% {& X6 T3 ] index index.php index.html;& m( T/ v: r& [9 k0 e) Y \( k
try_files $uri $uri/ /yourls-loader.php$is_args$args;
+ K N: j+ D5 S6 F, @ }
( a( P9 U, s. @4 R location ~ ^/\.user\.ini {
; y. h" n' v2 u deny all;
- [6 B0 z- \6 U. t6 J }
/ y; T9 e) p' ?! `- r' H) w location ~ \.php$ {
3 b$ N6 e* y8 O7 F7 x& { try_files $uri =404;, N) S0 ~: Z8 M
fastcgi_index index.php;
: @+ M- N& k% o- y # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
0 c7 q9 C& [3 S. G4 E fastcgi_pass unix:/run/php/php7.4-fpm.sock;/ u* |, q2 Z& Q7 w5 i5 M
include fastcgi_params;! ^0 M8 T k$ ^' ]7 m. R2 j
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
3 D' W3 q2 N' F' b }+ b7 I; l) _0 U+ F' S( h
location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
- q6 J8 V5 Y# k* c; F expires max;
! K4 E4 b8 y* P y' } c5 { access_log off;/ U7 y9 ]; E. O- ?& W5 q; X
try_files $uri =404;
6 `0 o# u* b4 D' X }2 b1 v3 W z7 ?
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
* q/ I+ a3 f3 i3 {& R5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
* w5 p' W6 ? u3 l0 O1 r& H- y/ [& s- `浏览器打开你的域名,配置正确的话应该能看到类似如下截图:1 F k$ R( u' E
; L4 b8 K# B3 [: P+ q4 k
2 R7 A x0 t# n8 ~1 bYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。- a9 ], L3 L3 x" [- G
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
1 n. ]* y+ W, m% `9 }首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
5 }5 U! E+ I0 z" v: h1 L
! }6 u0 o5 P, K+ d
0 J9 G( \. m( y) AYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。% x. J" b3 v# Q; J8 ^2 _
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
% z+ K" |" k& J- QYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。0 r3 }2 z! |9 f0 I9 D
最终网站前端效果图:
. Z4 M. N& a; j% y
" @$ M2 t3 M4 U" W; `! P0 `0 `8 W
短网址前端效果图后端效果图:
O; ~# o5 P7 z; a6 N8 K0 C
1 \ w1 U, v( R/ T# o+ L8 h+ I9 P2 w, P3 }0 e( j" G
短网址后端效果图相对原版颜值高了不少。( U x% q/ O9 f: H
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|