|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
, V8 ], @- s% B0 A4 P7 r6 V& f经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
/ Q" D. r3 W/ m! G3 C) p0 k本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。* U$ r. z4 A1 ?" T1 g5 ?
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。- X* P, \" j/ Q7 k
$ P- s7 v& }2 K, F/ P! Y
i, j$ ^1 B# h
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
- o+ q; o& ~) ]3 G Y9 ]# Debian/Ubuntu系统安装PHP 7.4
; }* H1 Q9 X( y0 W4 U8 c% }* japt install -y lsb-release gnupg2
& e5 ~: c( z {: t$ fwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -1 e1 e2 t& T( S5 v9 X
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
3 @! a' f5 Z5 t/ F% q; Lapt update
4 I5 J$ N; q* h, N. ^9 `% Japt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \! y$ K# f2 ?- O7 B7 g# T+ b
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
5 A, P1 s1 K& [* u- Supdate-alternatives --set php /usr/bin/php7.4; ?! _. X0 z6 o# B7 ?* p
# 启动PHP-FPM. ?& b( I l$ P7 V0 b8 j7 U" B
systemctl start php7.4-fpm2 |3 J" M+ g! \; w
接着安装Mysql(MariaDB):$ }. x# n4 V# q4 ]; e
# Debian/Ubuntu安装Mariadb# n0 i6 `( ?/ C$ R0 X! A
apt install -y mariadb-server
7 z$ p( I) g9 j#CentOS安装Mariadb* b# j5 d+ U3 S, |
yum install -y mariadb-server
8 f& j4 a- z" Q8 |* Z" Isystemctl enable mariadb+ Y2 y7 @1 C+ C! {6 C
#启动Mariadb
. x$ \; m: s. q4 h" m$ P( U5 i8 e% usystemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:) R3 y5 x4 b' |* f0 C
#CentOS系统安装Nginx6 k7 r6 L: Z: N& g' j) L5 M+ D: M
yum install -y nginx
2 k/ p+ C4 P2 L1 N8 O8 x& M; Wsystemctl enable nginx0 p: s5 t& m# o/ `
#Debian/Ubuntu安装Nginx
3 o: {3 G. o2 e! E1 capt install -y nginx
* z" C6 e1 O, h: n6 C安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。" w5 t( o+ l5 y8 B. E. a
部署YOURLS返回目录部署YOURLS的步骤如下:# ^# }! t/ N: A9 ?! y$ N
1. 创建YOURLS的数据库用户名和数据库:
" T" C& ~4 v7 c& ]& ?5 j. {# 进入数据库
2 X# M9 X% d9 E zmysql, G2 V+ g3 B/ g9 g( N9 p
# 创建用户名,用户名和密码改成你自己的
$ P. k/ b* a' \; M/ uCREATE USER 用户名@'%' IDENTIFIED BY '密码';, v8 d; b( t. T8 o9 K( e+ _
# 创建数据库,数据库名字改成你自己的% w- v* Y7 O2 ~, ]+ o9 q* Y' ?# h' b
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;5 V% G) C. t9 \( ^& A
# 赋予权限
7 J6 Q* z. R+ e3 e6 [0 IGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
; i7 S( _$ {! D# 刷新权限
1 N3 @% ^% w# v$ \! C. v% N) IFLUSH PRIVILEGES;2. 下载和安装YOURLS:( @8 ^# y8 |# P8 F& p
mkdir -p /var/www. ?* b5 T; F+ {! K6 g, V
cd /var/www/3 k1 A) W9 C7 I0 t. p9 P1 ~8 _- h: n
wget https://github.com/YOURLS/YOURLS/archive/master.zip! k2 T+ r U6 [: ~9 r
unzip master.zip
' y |. _( g6 s/ z5 Jmv YOURLS-master YOURLS. u; Z, e3 K( F6 i
# 修改网站目录权限7 @, N; Q9 }2 D& M. Y
# Ubuntu/Debian系统
# _: S' r% x$ I# N/ S3 T Dchown -R www-data:www-data YOURLS
* E! S. X: z, p# s2 e- S- w: q# CentOS
$ X* ], ^" |% C$ y/ W5 w& gchown -R apache:apache YOURLS
) K4 y( J. M, v' ]7 T0 q r3 Ucd YOURLS
0 z/ W* D# i* v3 K6 ~8 S( [5 ucp user/config-sample.php user/config.php
* P! ^/ f: J* r. R# ~2 Ccp sample-public-front-page.txt index.php
! A. q! `9 o$ t, L: gcp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
8 B+ U% m6 O& {4 n T7 Ddefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );+ x6 D5 y( w6 }0 j, t3 t6 a+ K+ D8 \
define( 'YOURLS_DB_PASS', '填写数据库密码' );7 g* {4 j" a+ p
define( 'YOURLS_DB_NAME', '填写数据库名字' );5 G& i/ l( Q+ _! ~+ A- j
# 这两行基本不用改
4 I# ?5 E# Y; n$ N: a! J0 K: a" Qdefine( 'YOURLS_DB_HOST', 'localhost' );. F, A5 e9 z$ e/ S# j; S4 n, ?
define( 'YOURLS_DB_PREFIX', 'yourls_' );3 W6 B a% }& H) {$ u: O. `
# 填写你的域名,不要加www形式* }* g. t z- L( T
define( 'YOURLS_SITE', 'http://你的域名' ); V7 \0 r( P% Q9 @4 Y6 G
# 填写时区,国内是80 T' z/ m* J/ q" |/ Q* F
define( 'YOURLS_HOURS_OFFSET', 8 );
3 O) u" I* N1 _; t# 设置为中文
7 N, m+ `- J4 v9 G9 } j4 Idefine( 'YOURLS_LANG', 'zh_CN' );
% M" m; G' R0 Z2 o+ }" o0 l/** Allow multiple short URLs for a same long URL
5 W. e" J0 W1 j+ b ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)9 L3 }; W; r/ o. i
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */3 x' K, a3 Q* k, g- e
define( 'YOURLS_UNIQUE_URLS', false );
$ X8 ~( T" q1 [) e( t# 设置私有权限% D1 j' u% ^0 i K; q
define( 'YOURLS_PRIVATE', true );
) V" F8 G$ a, [6 ~
4 z4 _8 ~8 K) }$ z8 cdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );* l! L G4 d! ?0 [- E& ]4 j
# 后台登录用户名和密码,一行设置一个,请务必修改
6 {$ m. R) R% W2 D* `- s( g0 n6 V, m$yourls_user_passwords = array(
1 ^7 l+ A& T- V4 n6 x '用户名1' => '密码1',8 T6 n, [/ ]1 P3 V- N! o: w
// 'username2' => 'password2',
% X3 h2 e k: I( U# }: l // You can have one or more 'login'=>'password' lines7 p" j7 h0 z1 w* Z
);
* I& {# C5 u4 |3 f" R& ^/** Debug mode to output some internal information$ }. s `/ x, |
** Default is false for live site. Enable when coding or before submitting a new issue */
) o. ^/ N: @0 P, D, X5 E k; c. xdefine( 'YOURLS_DEBUG', false );
' ~4 [; C: {4 I0 w, y) E# 网址中允许大些字母填62,否则填36' O# ~) B) S, [) l8 Q7 |% x) _
define( 'YOURLS_URL_CONVERT', 62 );
" `$ @: _, K, v/*, e1 |) U. J( @ X, B
* 36: generates all lowercase keywords (ie: 13jkm)
! g, h5 a; h' K * 62: generates mixed case keywords (ie: 13jKm or 13JKm)4 t. ]0 P! U4 e _: w
* Stick to one setting. It's best not to change after you've started creating links.& _+ Y- }6 y+ B1 x4 O* D3 R7 ]2 I
*/5 H- w4 ~' c1 V4 T
# 保留的关键字,可自己添加
( V. Q; N! w, d/ u# l" Y. \$yourls_reserved_URL = array(0 Y* G/ x) E/ P/ e% I9 l
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',1 d0 r" E; A* Q2 V# Z; F
);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
3 B' S2 {4 a3 g2 I4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
1 T+ F' {4 S3 Aserver {& o, j$ d' U; h9 }5 }! K, b
listen 80;
! F" _6 w( @% \, d) f3 C6 C server_name 你的域名;8 z/ k. e+ P/ c3 v9 k* h7 d) A
charset utf-8;
8 B# t4 h, q( V ^; f! J root "/var/www/YOURLS";
+ J, ^) K& M& s location / {4 b. E5 i) x5 D0 X
index index.php index.html;" l2 F+ F* }* W
try_files $uri $uri/ /yourls-loader.php$is_args$args;6 J5 r; u/ i7 t+ N+ s* C
}
& d! {) g; n# a, l6 r1 ?. q2 y$ A: p location ~ ^/\.user\.ini {
7 G+ K2 b% O: w {: X deny all;: c: M2 z, f4 Z9 D4 w1 I- \
}7 `; u; U! B8 J$ S+ R2 r* z2 i
location ~ \.php$ {* \: j% C! e) v6 F, ^; T! \7 j
try_files $uri =404;. u, _+ |% B3 k7 M- H1 O
fastcgi_index index.php;5 D2 [" p1 t7 K. r& u
# CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;/ [$ r* @8 a( d0 D0 r0 q
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
, `/ f: I! a9 [' Q include fastcgi_params;4 |. V" X8 C0 A1 |7 x+ S
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
$ ?' k5 U4 ]: f4 K# _# J }- U/ j6 t6 R) K. ~; D5 i* ~9 i7 z
location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {# E3 H8 _8 x5 z/ V) f- N1 w
expires max; M2 \* P( ~; _2 a4 {* ]
access_log off;
m- [2 ?3 V) v: Q$ v: X try_files $uri =404;, O, Q3 {2 D4 Q
}
! n( ]5 F' X6 t, G) [. ?}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书* o# C" p+ ~, Z5 S& p
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
4 r- ~8 O8 I% G4 M# @, H W浏览器打开你的域名,配置正确的话应该能看到类似如下截图:! @) ]3 V6 w+ j0 |% E
+ O& y2 E. Z/ l1 `
( A/ z' i# l4 {/ u: BYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。& _/ a( ~$ P7 A, z- n% {
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。% j# F0 G; [4 L5 A+ z( V! r
首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:* K% W, ~" T) ^) w2 Y
! g! p0 G6 d/ H, i+ F1 [8 ]
2 e8 J P( c* C8 g, w/ D
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。4 N) L/ L" S2 Z" G
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。7 ^/ j, D8 T' B" ^& ^5 n5 V
YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。% ]9 p( r. }5 |% }
最终网站前端效果图:
/ x) a) w2 M: }. s# O3 S2 x. d
' d( S. x2 E) M! F0 U8 E1 { I2 b) E6 }" A0 X5 G
短网址前端效果图后端效果图:' h% x( i5 `! f4 k ?0 I$ ?
8 }1 L6 y( w" G' @) j, Y' j5 y
2 a( Q5 o0 O% V; p8 @0 z4 K
短网址后端效果图相对原版颜值高了不少。
# E; P% [" p4 u+ [: L% Y2 S( l4 i 参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|