|
|
发表于 2022-9-11 21:04:53
|
查看: 1105 |
回复: 0
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。# g3 H5 z% T5 k, w
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。6 @" a4 n( h; Z9 M1 v+ `
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。; _4 @2 F' z' P$ D3 ]) l5 @
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
- n% t6 F$ M4 p& M' t; O
4 b$ [7 ^: B1 `
. @# D5 O* q) O; D域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:% o2 {& x9 [( B1 ?+ T6 k
# Debian/Ubuntu系统安装PHP 7.4" |" X1 Q+ \8 R$ x+ J; j8 H
apt install -y lsb-release gnupg2
. Z* A. L5 L+ `, ^3 e4 E$ xwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -6 }0 Q R4 f! h2 v
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list5 K/ y4 v$ g4 p2 k- k( G, O* g
apt update# L) E S3 x; o& X( Z
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
, R2 g* H9 x3 x- T | php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick+ }, b5 [3 A( u" w. ?6 w0 H
update-alternatives --set php /usr/bin/php7.46 k( u# V9 C- j' j s
# 启动PHP-FPM
2 F* Z$ ^6 A6 U. _' }1 p0 p( usystemctl start php7.4-fpm
' c2 z. p' V3 m' |接着安装Mysql(MariaDB):
% W6 y* @0 r, Q: l. [( x" y) Q# Debian/Ubuntu安装Mariadb
& _$ J0 W0 X( o: G& i$ ?! W6 capt install -y mariadb-server
0 U6 P) z k9 v0 G" t- p! H#CentOS安装Mariadb: b# m4 n( i. Y1 o5 s
yum install -y mariadb-server" @) F7 f7 n- b+ a, h' B
systemctl enable mariadb
& R' c! m! G* a' |* b#启动Mariadb8 k8 s, |! i7 v9 b' N
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
- Q8 }5 p) h5 `2 R- C; S7 N#CentOS系统安装Nginx7 ]" C6 B* Z$ _2 B4 U( k
yum install -y nginx! R0 ^8 ]5 R; c4 M( f9 m* W
systemctl enable nginx# M" p8 j, Z0 ]1 N6 F6 c' S
#Debian/Ubuntu安装Nginx
$ s$ Z, y5 ^/ N5 y; Oapt install -y nginx+ k5 ~; B3 P* c1 ^8 r: Y
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
3 q7 K3 @6 s. c4 {. G1 d 部署YOURLS返回目录部署YOURLS的步骤如下:
; D9 b. U* q+ a2 q: ~9 W, Z1. 创建YOURLS的数据库用户名和数据库:
; d6 Z& |8 M s5 ?# 进入数据库
- [! w0 D3 R0 j) h0 b' Emysql
& d7 y* n. R% X# 创建用户名,用户名和密码改成你自己的3 } x' e* P4 C, E R I! A, m( o. B
CREATE USER 用户名@'%' IDENTIFIED BY '密码';
, u( H Y1 X' K1 Z# 创建数据库,数据库名字改成你自己的" \! M& ^3 N1 R* w* l! q8 H( X: S/ J
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;. q) H( p; k& |, {+ h. S' m
# 赋予权限
. }# A2 V4 _" V0 q6 @GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
& Y. G7 h$ Z0 r5 w# 刷新权限3 T0 Q! L3 F7 [1 \5 s. [+ R
FLUSH PRIVILEGES;2. 下载和安装YOURLS:
1 c# ~& H! X) [6 }9 |mkdir -p /var/www
7 t/ |+ o6 o7 _9 H$ e) dcd /var/www/
0 |/ s5 H! j" a: lwget https://github.com/YOURLS/YOURLS/archive/master.zip: R7 t: |8 w" l, j
unzip master.zip
9 t+ [( i0 [; p, J5 }8 C0 Emv YOURLS-master YOURLS
9 l6 A1 v P7 B* V& k# 修改网站目录权限
7 P% J2 N9 U7 Z$ o* W, v/ J c# Ubuntu/Debian系统 V5 k9 c" O6 J% B+ l" T
chown -R www-data:www-data YOURLS" A. N: j2 A( v& N: N# N+ {/ M
# CentOS
n' I" z1 v2 B _1 ~: Fchown -R apache:apache YOURLS6 I& l- e2 m, i B2 ?" d5 m- E
cd YOURLS# q+ p& }, Q O5 a
cp user/config-sample.php user/config.php- X" L5 T) h" _$ G/ G+ R+ \3 F1 A4 x
cp sample-public-front-page.txt index.php
# `6 j5 p* w+ h4 q# q7 X( @! B. Xcp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:9 d# V n& J ]& \# s7 t! s
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
% q; N, m, ?/ {define( 'YOURLS_DB_PASS', '填写数据库密码' );
5 B% l' x# N9 V) X# Idefine( 'YOURLS_DB_NAME', '填写数据库名字' );6 y' H! L0 p: H3 q( D8 V* Y
# 这两行基本不用改
. \$ \/ ^4 c9 \( q# W8 odefine( 'YOURLS_DB_HOST', 'localhost' );
0 \8 s7 A4 f! }, m, Pdefine( 'YOURLS_DB_PREFIX', 'yourls_' );' j2 w" `3 e6 k" {1 V7 }, W
# 填写你的域名,不要加www形式& U+ v/ g1 R' }
define( 'YOURLS_SITE', 'http://你的域名' );6 y* Q- y% d0 b. \
# 填写时区,国内是8
3 X1 {7 _' M0 G/ K0 n, Odefine( 'YOURLS_HOURS_OFFSET', 8 );
: @: H* z7 w1 a9 M) [, @# 设置为中文
: I# S, y: ^2 S0 a' D, H- z) Kdefine( 'YOURLS_LANG', 'zh_CN' );
+ H. O4 c3 R! t# U/** Allow multiple short URLs for a same long URL
2 z, J/ ]! X1 A6 h ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
* q/ a1 y0 F$ A! i: P' W ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
! D' F# B6 g9 i- R% y0 vdefine( 'YOURLS_UNIQUE_URLS', false );
/ f; F" K0 d2 q9 |# 设置私有权限
9 H) l# {/ t% \4 Q( G1 Adefine( 'YOURLS_PRIVATE', true );
5 {- ?3 z2 D2 v5 u+ N& ?% k
8 I7 i% [0 r1 `% P' Bdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );6 n; t$ g7 |+ q; l
# 后台登录用户名和密码,一行设置一个,请务必修改
3 e0 M: t% }9 Z# @$yourls_user_passwords = array($ }$ Q/ B/ `' Z! ^* X; \
'用户名1' => '密码1',
0 x) o8 y6 W7 V& u0 A // 'username2' => 'password2',: n8 K: g5 P0 M& _! ?- c$ w: X4 Y
// You can have one or more 'login'=>'password' lines
* U# W; n8 p5 u8 X );- {8 v2 M1 J! z$ v
/** Debug mode to output some internal information
$ n: y4 ^ s' {7 k7 e: E& f ** Default is false for live site. Enable when coding or before submitting a new issue */1 }6 y' `0 n! J2 T. {) m- }* o
define( 'YOURLS_DEBUG', false );( R( k# ^) j" S" p6 P% v/ P2 E3 F
# 网址中允许大些字母填62,否则填36- c( I4 e5 D% B! Y
define( 'YOURLS_URL_CONVERT', 62 );/ v/ ~% E. Z8 ]/ I. w
/*+ d) e/ w, _& Q& k! r
* 36: generates all lowercase keywords (ie: 13jkm)
( U( O8 t* {* [5 K2 Y1 O * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
/ N4 g! O! y7 `0 c2 F" \ * Stick to one setting. It's best not to change after you've started creating links.' o. p- u' V+ c. q% M
*/
& c- u1 c, _3 o. E9 N; ?3 R# 保留的关键字,可自己添加
; {' k G9 Y t$yourls_reserved_URL = array(
8 h* g7 I+ x! m: G) q* f! V; W 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
. n1 L! s- q* t/ U);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
6 I. N) S( K- r/ u ?4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容: i' C! g* e* y) K; b8 l! A
server {
P. y4 P. W5 e listen 80;
( }6 Z7 h- `9 \# _0 y server_name 你的域名;1 V: o# q1 Q* L; M; L
charset utf-8;
7 x# {/ i+ ~3 [) Z5 N/ w& ?( h root "/var/www/YOURLS";
* g9 i' ?: F/ Y+ Q* N0 l* g G' T& M6 t location / {
' l3 m8 S! S6 h7 X0 ? index index.php index.html;+ v1 x7 ]# c, S( t
try_files $uri $uri/ /yourls-loader.php$is_args$args;: Z, ^2 L7 o" A. Q G
}
" P: |5 ~1 N4 c, \' d location ~ ^/\.user\.ini {: B! u% K: S& X5 c# R$ R
deny all;
% ?, A) N. t. p) \ }3 A0 C- ~( d/ s4 \+ m
location ~ \.php$ {
: ]- V6 V" u% q5 M' P try_files $uri =404;
4 y. C6 P: t4 Z5 T; W fastcgi_index index.php;2 ?% B& z1 O+ g0 m
# CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;, K6 g/ U9 j; l; d/ b
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
5 f; F0 ^* P' Q2 V% N4 X7 d* Q! ? include fastcgi_params;2 _" W. M2 }7 A' I
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;# n: _3 @" l& F2 d6 G% ~6 d
}
+ S- e! P! @% b( L, S: Y4 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)$ {. y# o1 S3 c% f6 U' G$ u) b
expires max;5 f2 Q5 h: B$ k6 ^; v( Q7 a
access_log off;
; S) r5 I" W2 e% @" k try_files $uri =404;
# B8 J8 F( x/ ?# n2 w }
- Q4 ?, ^. ]) S! V% n}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
: r6 x: f; L3 b" P' b5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。; i% l" D. }& ?) l
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
4 E3 a' o( ^! h; G: V
! M$ c" t$ ~% z8 `! s+ ~5 f0 U- h, w6 K8 v: o
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。/ b( x! m! U% j* p1 m5 a* P" X
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
5 d+ R$ N& E/ i' F) \; ]首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
7 K9 o8 V+ ]* L. t4 c$ } t
9 ^. |* t _3 D' y6 B7 L# K- i1 B$ V, ?* y2 b4 l
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
3 D; X/ B0 o9 U, G推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
' z- P& z8 b( A$ o2 oYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。" C' N3 _5 h+ s" ?
最终网站前端效果图:
7 _& E# `) l j/ X% E" V7 h# H' U( b
" L0 T4 S- a: f" R
短网址前端效果图后端效果图:2 W! Z$ V- U( P; b$ b+ @* C3 F/ H; T
# u' N- \. T+ r7 _3 \8 J4 b9 O- Q Y [" a! W# ^/ A
短网址后端效果图相对原版颜值高了不少。
! q/ l1 y. O; a2 i 参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
|