|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
; F, _8 W/ u# Y" v, `# M% m( ?/ m经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
1 u' x/ f0 h/ F% k* c6 c6 c本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
/ p% }# p: n( `$ _ 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。* o" {/ u& U; a7 C6 z3 Y% X/ Z
/ D# ~- j: T% ^
1 E: V% D1 {6 s; P1 J. m: W I
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:) m; a/ v+ W. O, E% t" k: y
# Debian/Ubuntu系统安装PHP 7.4! h( \$ ]$ J9 h! l
apt install -y lsb-release gnupg2
/ e9 V' W/ [# ]4 Q$ g1 z8 n1 }: ~1 [wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -4 O$ f( B' _6 W5 w+ H
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
+ k7 N: u) S) x# q. x7 lapt update% Y% c" z$ j i$ x, v8 {7 r2 Q
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \, G% U: T( }* {8 b0 s, h
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
9 @' F6 f3 ?3 t4 i+ qupdate-alternatives --set php /usr/bin/php7.4
# Y. P# S" a9 N; }" T, N. y# 启动PHP-FPM
) F+ Y; s, f: _) _, m, nsystemctl start php7.4-fpm! X$ d Z' N2 Y1 S. T, T
接着安装Mysql(MariaDB):
8 g. k' a1 M( V7 w' w7 j+ ~# Debian/Ubuntu安装Mariadb
0 J2 [$ y% f0 X: |9 m: eapt install -y mariadb-server
& |: L+ Z5 \5 s6 Z/ \$ L#CentOS安装Mariadb
I: i' e9 h. Syum install -y mariadb-server
2 y8 ?, X. `" L5 ^& ^- Ysystemctl enable mariadb L. p8 C1 N0 A3 B) z
#启动Mariadb; G* s; u, X! b( v8 b
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
; Z4 v0 K! x) Q: ]% ?' \( L#CentOS系统安装Nginx
! J! o9 L- S2 p3 {yum install -y nginx
( ^7 ?9 ?: ]' q- c! ]- }systemctl enable nginx' A! @$ n; B1 z8 O" B' X( U9 a* I
#Debian/Ubuntu安装Nginx3 N+ K$ h$ }+ S/ `# s1 G
apt install -y nginx% I0 B2 q. F7 q: J2 N0 j
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
/ w- M! n& ]" U/ r 部署YOURLS返回目录部署YOURLS的步骤如下:0 x3 {$ f; w# D8 t
1. 创建YOURLS的数据库用户名和数据库:* f- ~0 t$ n6 Q* e
# 进入数据库
& w$ L) S, P: J) ~, Dmysql, X* [ @8 q5 p/ a# z; B f
# 创建用户名,用户名和密码改成你自己的
- Z8 p" }5 @- c+ `/ h+ I# iCREATE USER 用户名@'%' IDENTIFIED BY '密码';/ m/ V, Z& J6 k$ s# h+ S
# 创建数据库,数据库名字改成你自己的
, d6 p/ |! M% m0 FCREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;: x' Q: }- s3 D: |, R
# 赋予权限7 H7 b f1 z! C" g+ o. s% Z6 K I
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
( V; N; g7 v' ]$ u# 刷新权限7 H% J$ |7 g9 O; R+ _
FLUSH PRIVILEGES;2. 下载和安装YOURLS:$ r, J1 x9 {6 D. J0 U5 m& Y, Y
mkdir -p /var/www |% F* k8 l6 T0 @: O$ B
cd /var/www/* A) {9 n& Y; o. Z% l
wget https://github.com/YOURLS/YOURLS/archive/master.zip$ n# Q) v% P0 F0 T' Y
unzip master.zip
$ y8 K. D6 H" ~, Rmv YOURLS-master YOURLS2 j6 W! { e! q8 t4 v! ]3 L
# 修改网站目录权限/ @0 d4 z* T+ @
# Ubuntu/Debian系统
# ?5 x) r) s, @! h4 j9 \chown -R www-data:www-data YOURLS
' X/ q" i! V+ f! i& U# CentOS
" H/ X( j, c) I8 {0 j( s8 ichown -R apache:apache YOURLS6 f4 p8 e2 z: c" X: b! Q5 b
cd YOURLS
, D6 m6 }2 H) w3 O& {cp user/config-sample.php user/config.php" k A# t0 h1 o4 v# r8 \
cp sample-public-front-page.txt index.php% D2 U. g1 C" L4 m
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
|6 r/ W- `+ }7 J) B+ L Z$ zdefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );1 ^9 @: x! f4 \, A; Y6 E* y
define( 'YOURLS_DB_PASS', '填写数据库密码' );' Q0 a- Y* i) y( v2 g
define( 'YOURLS_DB_NAME', '填写数据库名字' );
3 S7 p3 g% D$ {3 t4 r# 这两行基本不用改* y4 u ?3 P& `
define( 'YOURLS_DB_HOST', 'localhost' );
6 p$ E+ N* t. bdefine( 'YOURLS_DB_PREFIX', 'yourls_' );
" \4 e# p; @4 ~; k, @# 填写你的域名,不要加www形式
; o5 n/ o# z4 R. R& @* M) {7 Ldefine( 'YOURLS_SITE', 'http://你的域名' );
3 ^4 r t$ H- K0 L# 填写时区,国内是8
6 P. ?' ?# V( A8 K( b( Odefine( 'YOURLS_HOURS_OFFSET', 8 );: k! F2 u; S( t2 y2 k
# 设置为中文
% G- i- j8 e# N! g& [$ q0 ddefine( 'YOURLS_LANG', 'zh_CN' );; [& a2 F4 Y% z( p
/** Allow multiple short URLs for a same long URL
7 z" ] a. }0 D/ J ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)9 J$ R. O; g% `4 Z
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
- e9 y# N9 H( C C) wdefine( 'YOURLS_UNIQUE_URLS', false );
- T! l, e* ?1 H. s8 g' L( I6 a# 设置私有权限
$ W! ^' ^ `* |9 W2 Udefine( 'YOURLS_PRIVATE', true );
6 v/ z& \& s3 @ T
( D7 ]3 j. b; d3 _4 D; {. bdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );+ [) B7 V K0 P* p
# 后台登录用户名和密码,一行设置一个,请务必修改' P. i. E+ J! R5 I. b
$yourls_user_passwords = array(7 T% G, p% ^! m' e2 q
'用户名1' => '密码1',9 w" h, v2 s( @2 Q7 K0 j; ]( G G9 [
// 'username2' => 'password2',
$ F$ B; X; C% e/ N: ^) X9 ` // You can have one or more 'login'=>'password' lines
3 O! e- t& [0 ]9 k. _ );5 Y: ?7 `7 U5 [/ T; O3 v ^, ^
/** Debug mode to output some internal information
; _( N. d7 ~0 n$ j5 H6 Z ** Default is false for live site. Enable when coding or before submitting a new issue */9 q; A. W7 w% o/ M
define( 'YOURLS_DEBUG', false );. E! s: V, {' d2 e( A" n
# 网址中允许大些字母填62,否则填360 g2 t5 ?) f9 y
define( 'YOURLS_URL_CONVERT', 62 );
2 z* F" P$ o6 q4 t. H4 S/*% D/ z( C, r4 u3 C U# h3 F& f
* 36: generates all lowercase keywords (ie: 13jkm)" x( z! B# b: O: w/ D
* 62: generates mixed case keywords (ie: 13jKm or 13JKm)( q$ {. k4 o6 f- u+ S
* Stick to one setting. It's best not to change after you've started creating links.2 m, C+ a2 G* E; l+ t. t% E
*/
" I/ ?% r" [( q0 }" D# 保留的关键字,可自己添加
2 M. j2 _8 p7 g6 K2 A$yourls_reserved_URL = array(
8 q( G+ `9 H' \' {2 }9 B 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
4 ]0 {7 J3 X0 _4 Q; I' V5 {);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
2 m- F. O! V3 M; J: D$ c9 U4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
1 i' d- Q. }+ V7 Z: N6 q5 l0 m T/ Qserver {
3 s B v+ b. r8 I" q: S. A) n2 ]: q3 e2 Z listen 80;; u+ @' B! C0 [8 c; O
server_name 你的域名;
% c3 k3 d2 `8 H7 X! H+ d charset utf-8;
" C+ z% F2 K; i3 J root "/var/www/YOURLS";
% R D) I$ ?, V location / {8 r, y: k/ ?5 _: }" U, m$ X4 d. |; r
index index.php index.html;0 Q: u; l3 [9 L" T. h# X, W3 }; N
try_files $uri $uri/ /yourls-loader.php$is_args$args; L/ g/ J. ^! |0 I1 b0 t
}
) Z4 ^6 P& @: P7 ]3 @ location ~ ^/\.user\.ini {
& K1 o% o8 P+ l1 f deny all;
/ ?# V' b- G, G+ n }2 u- B* \; F& h2 ] \2 X
location ~ \.php$ {
3 W- n2 ?' M# B8 V/ _# D try_files $uri =404;
0 z% a# S; K2 P- o/ F/ F q+ u fastcgi_index index.php;0 t, b8 e' `2 c- b o# S
# CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;( _4 |" v/ {: |) s6 D+ s
fastcgi_pass unix:/run/php/php7.4-fpm.sock;6 g; |9 k7 U2 f5 T: D) r
include fastcgi_params;/ y/ e- p3 o$ J* Q1 S! ?' X
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;* e* t/ B9 k: }$ K1 V; B0 s" L7 G
}, d- P& F& ^) x# f9 O# d$ l# A
location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {% }8 d* A. Z$ D3 B3 v4 u
expires max;, Z. ?& |: k9 N4 v/ E' ^
access_log off;
# d, x9 |4 r6 z& ?' I4 A try_files $uri =404;
* h- e' M" ]0 ^9 e# M v C& V }
4 m% f0 E/ x& g- u8 O}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
1 z( { T' }. T/ X+ x! _0 {5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。9 |1 o+ T4 M& ^) O! N$ z
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
0 b( g5 y8 F/ S" F2 r% _% X+ w/ J' |3 z# {$ k; L3 V
: d+ Y* V/ M) Q: m
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
6 U9 i+ l( U' r9 C+ R 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。 Z7 {1 B& i: H- v1 ~' n! m- H2 ~7 k
首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
0 F4 B) w+ R! x5 O2 ]
u) {0 k1 ?7 C: o' r
5 `( x' k* U) V. _$ C# WYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。; H2 S- G' c$ p
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
2 Q3 K. J( ^3 V w; e5 I' D3 f* |; JYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
6 [: t4 F5 t/ D9 { @最终网站前端效果图:
) U9 [! s- d- ^& @) B3 n( A
: x2 K- b& r* M" }
V) E% ~0 {* [" y& s短网址前端效果图后端效果图:3 ?! X0 W U: i5 z
% m% Y3 I2 X0 B% y* q1 }
( Q7 I. i& ?. d ?1 o1 k短网址后端效果图相对原版颜值高了不少。
9 x+ h$ U' X5 p* B/ Y! j# `' c 参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|