|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
9 H4 z6 f3 p8 }% T" x经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
2 ]8 `7 q* U9 ?, F" X) Y; ]本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
/ h& {1 Q* ^% _ C 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。. X! K% |$ S) D6 Q$ e0 x
) k- ]- w5 x/ z Z( [. ~' _
. u0 v/ `: r% P7 a! j域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
4 D( F7 @' @, @ }2 B/ h2 H3 V# Debian/Ubuntu系统安装PHP 7.4
+ E$ K, x7 Q c1 s0 T; Z5 D9 q5 fapt install -y lsb-release gnupg2
3 `0 D4 w: f1 b5 h/ Ewget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
+ k" W, k) _; N- b& C2 |( Wecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list3 O* s5 |, |! ^3 R9 ^
apt update+ S: c- Y3 h5 u n+ _- w
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \4 N& N$ s# L1 z: K5 F6 T8 c4 h
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
( q) m% P+ _$ o, S7 ?6 Qupdate-alternatives --set php /usr/bin/php7.4) E8 e9 h! K3 ?+ J( ^
# 启动PHP-FPM
" K- T6 I- b2 Q4 ^) Csystemctl start php7.4-fpm
2 k( w# q0 s% i接着安装Mysql(MariaDB):* n1 |1 p e) ]( g1 Z$ u( j; s% H6 f
# Debian/Ubuntu安装Mariadb/ b4 T4 ^! }# u4 Z9 @% f9 d! \# G
apt install -y mariadb-server
2 [' q E& k$ S& K; j#CentOS安装Mariadb
- ]/ n5 Y! ^: u, D, z1 Uyum install -y mariadb-server5 }" R$ _/ z a; `/ i
systemctl enable mariadb( a! R+ r; `7 k) p
#启动Mariadb q6 \, [1 N0 E7 `
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
: D a0 m: K7 E( ^1 z$ @#CentOS系统安装Nginx
1 z; ~1 E/ S$ D0 b5 C# `yum install -y nginx6 `$ ?6 p/ t: G
systemctl enable nginx, ^! H9 P; S3 e' K' o. U9 C
#Debian/Ubuntu安装Nginx' _6 T: l9 Y7 k
apt install -y nginx
8 S6 e* ~7 m, ~1 L; y安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。9 B G) M6 p v5 i( Q) v
部署YOURLS返回目录部署YOURLS的步骤如下:
) x5 _. |( m m0 A+ ~1. 创建YOURLS的数据库用户名和数据库:, `# q8 d9 _, ~! g% o: v; ^
# 进入数据库
N7 \/ g- ^7 ? E7 D+ T4 a+ Nmysql1 `6 I6 O G; q+ ?
# 创建用户名,用户名和密码改成你自己的
) |6 F$ J9 l' D ]- @& ECREATE USER 用户名@'%' IDENTIFIED BY '密码';# y: M# B R' q9 s- w8 _
# 创建数据库,数据库名字改成你自己的3 ?# C3 h7 k( [9 A- X
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
9 p1 G) q. J" b. d, i$ S# 赋予权限# b x' g. H- F
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
8 |% v; H% }: a, P/ {- I4 \6 m# 刷新权限
! O, |& H1 L0 z0 r ]5 Z1 RFLUSH PRIVILEGES;2. 下载和安装YOURLS:
, O9 p& [+ h5 ^mkdir -p /var/www
) P3 b% o) ]/ Bcd /var/www/* |* a' d4 j0 D) B1 ^
wget https://github.com/YOURLS/YOURLS/archive/master.zip9 o f) C+ K2 ?7 |( W7 _
unzip master.zip+ _8 |2 B3 ?2 e! \1 s& q- S4 T
mv YOURLS-master YOURLS
8 F% T% J3 P) u1 @3 [" B4 Q, K: P# 修改网站目录权限/ w2 S0 B4 x4 Q, _7 n
# Ubuntu/Debian系统
7 b3 I0 S4 g: b: X. nchown -R www-data:www-data YOURLS
. T" A7 K" |* P r% y8 F# CentOS: ]3 U( L- ^, H& t! z5 z
chown -R apache:apache YOURLS
4 C6 ^# A4 n& E: x2 N: Kcd YOURLS5 [- _5 w9 g# ]$ x( C
cp user/config-sample.php user/config.php& ^( L( \0 [0 R8 X1 N! z" f0 b) }- W
cp sample-public-front-page.txt index.php
* s8 r& a3 r1 Tcp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:; `' m9 E0 F9 ~+ N
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );" h& T- s$ B, L, }% r' q; a
define( 'YOURLS_DB_PASS', '填写数据库密码' ); Z; q, a8 s" A$ R% c
define( 'YOURLS_DB_NAME', '填写数据库名字' );) s5 z3 V _' x; h$ l
# 这两行基本不用改
$ G2 j$ y4 N* ~1 adefine( 'YOURLS_DB_HOST', 'localhost' );6 M7 X; Z# @) I" u
define( 'YOURLS_DB_PREFIX', 'yourls_' );: Z* m$ ]7 ^7 B. s2 F# i) Z+ ^
# 填写你的域名,不要加www形式
9 C7 G$ ?9 d- C" `define( 'YOURLS_SITE', 'http://你的域名' );
. r, c. v* ]- B- E+ n2 @# 填写时区,国内是81 R, j. j& g* @% L5 P. E7 g. _& a
define( 'YOURLS_HOURS_OFFSET', 8 );
- A5 n) T/ y' s0 n$ [0 V# 设置为中文
4 S$ Z5 B$ e$ J7 _8 gdefine( 'YOURLS_LANG', 'zh_CN' );% C' v" Z4 g) ]7 T, i
/** Allow multiple short URLs for a same long URL
5 y, ]. p5 j* M3 k1 u ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)) n4 U" K& u- g) d
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */" ?9 M- A8 _, s# Y7 [
define( 'YOURLS_UNIQUE_URLS', false );$ k( P( e5 D$ P2 Q5 T7 n8 u
# 设置私有权限
n- p' \1 Y1 ]3 ]2 ]define( 'YOURLS_PRIVATE', true );3 M. u1 N: a, `$ T& P7 C$ V# }8 o
: a! A% a5 t$ B! i- j0 b
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
% ?6 g/ J0 A4 U. x6 r( H# 后台登录用户名和密码,一行设置一个,请务必修改6 m: p" K: s4 K% n
$yourls_user_passwords = array(
# y! ^4 ^: f$ T '用户名1' => '密码1',
" [! I6 x2 Y( @0 ?3 Y6 O // 'username2' => 'password2',% {0 @$ j9 J) `
// You can have one or more 'login'=>'password' lines' ` d5 W9 w \- ^
);- J. x8 `% @0 ~& ]( n2 d
/** Debug mode to output some internal information
6 g8 s3 i( B1 ~, B, P1 S ** Default is false for live site. Enable when coding or before submitting a new issue */
" `) f; v8 G! Z" h7 F' \define( 'YOURLS_DEBUG', false );2 X% G: ]' O- J! l& ]( R' Z
# 网址中允许大些字母填62,否则填36
# |5 D6 F6 b, bdefine( 'YOURLS_URL_CONVERT', 62 );- X9 g; b( x4 j6 y& x. x4 ]
/*
) ^; p2 F' S O6 m! ^* N * 36: generates all lowercase keywords (ie: 13jkm)- ^5 U0 R9 n6 E- u' O
* 62: generates mixed case keywords (ie: 13jKm or 13JKm)$ A" ]; u' y0 ?( {/ o" w4 ?' s3 V
* Stick to one setting. It's best not to change after you've started creating links.
4 U' b! Q V3 s' h4 y) C: c6 l */
1 q) G2 m& @0 k" V# 保留的关键字,可自己添加
, T, o+ r5 Q: i3 `, H. Q: j5 Q K \$yourls_reserved_URL = array(7 Q8 F' c$ [8 W: a( ?5 J
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
; u! H6 E. F6 w3 e b) G8 X);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
4 E1 ^, ], L8 L0 [, a$ \4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容; e2 b8 M* z; w( ^4 D& H J
server {) `4 |8 }6 `% P7 D$ p% @5 k
listen 80;0 x5 ]% o' H" L# @9 j
server_name 你的域名;7 z# ^# ~9 @, p. t! n& y3 p
charset utf-8;
) H1 _' F& x4 |# Z k: Z root "/var/www/YOURLS";
0 B" |6 q. C% H2 O( R2 F* U location / {/ @9 Z; E5 Q) v' o9 n2 q, s
index index.php index.html;: B8 Y6 P4 P8 E5 Y% l6 N
try_files $uri $uri/ /yourls-loader.php$is_args$args;
! ^9 t( B8 D/ C: o/ c }
1 c! k/ V) e6 E) I4 R& ^& o* C* S location ~ ^/\.user\.ini {9 D+ X" e9 a3 d7 R x4 J8 \
deny all;" g/ s6 S, A6 t1 A
}7 t$ c" I* c7 a2 R
location ~ \.php$ {$ i0 r+ M/ ^1 Z% }0 J
try_files $uri =404;
/ r; d: u9 w, E fastcgi_index index.php;
: x# ^ J# w% {5 W) e( l" p # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
- g c/ W- R3 S+ ]* V fastcgi_pass unix:/run/php/php7.4-fpm.sock;
& _# z0 J! B6 x# u include fastcgi_params;8 n& T; ^9 m! }- _& q
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
2 g. y" G6 l% L- K5 a* J' M }
( `1 Z1 t ]1 D/ @, w$ G location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {+ ^# g8 w l/ n$ W/ k
expires max;7 ?% N! C% V9 H8 t! N
access_log off;
0 B/ B, U% i$ t try_files $uri =404;" Z1 \0 J, O g& h: F4 G0 a
}- Q# b' D: m/ O4 w0 W$ v: F/ `2 b
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书: m5 J" S- U$ _% Z# x# |9 Y% w
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。4 @& P" |# ]$ G3 \) P- t6 f A5 S
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:+ h6 k4 _- S7 ^2 A, Z2 F; U/ Y
* c% x, T" {; v* `
9 n! w/ x9 q5 o+ mYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
& ~/ p: E* i: h: Z5 i5 u; X, z1 S 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
- W V0 d3 \5 B/ Y% z首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
* p' P: M$ x2 a( i! Y+ r# T! o, U8 W, T6 I; g
4 ~7 F5 F7 Q7 K1 j) w! N6 dYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
* }2 \0 j+ y. N( q; x推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
8 ^5 F7 U0 K1 {7 `: XYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。: g1 k7 _5 N# |% R3 J
最终网站前端效果图:
8 ]% [5 [" L& p. h& k0 j+ L2 j W k4 S# E
* Q( o/ ~% p* U3 e7 i) p, F短网址前端效果图后端效果图:$ J$ T# @0 L, M# c8 g1 o' z' I
: `6 C4 G/ c: G2 h. ?& U
0 Z5 \8 o$ B/ C5 t S
短网址后端效果图相对原版颜值高了不少。1 Y, B( F- S: }/ i% N" U
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|