|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。* i7 Q, Q+ H9 k# p% n
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
# G) T5 u* W! E g) t$ P- b本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。9 c- g: n9 V6 |0 j6 i
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。( J5 T7 M6 [/ a9 B3 E6 I0 L
4 @6 s! D3 |: v% e% i
; y% {6 s# ~/ F0 F- K9 y域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
3 n+ @% x( n& n5 T# Debian/Ubuntu系统安装PHP 7.4
1 g+ N3 J! W, E' iapt install -y lsb-release gnupg2' Z8 U' B' ~( z0 `
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -8 f9 R; L. } k* d6 i
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
7 Z6 x4 G j% @8 d5 j) rapt update8 ?6 O+ u$ k+ [! G& V. u5 a$ F% [! f
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
. N) X& s/ U. D1 ~1 j5 m6 U php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick1 U5 ~: N4 Z9 X6 ~6 f
update-alternatives --set php /usr/bin/php7.4
, O- x+ O. x( V- R. t f7 g. H# 启动PHP-FPM3 Z }3 L6 d0 K/ \
systemctl start php7.4-fpm
; _$ G( n. ~ H1 D接着安装Mysql(MariaDB):# E; \$ e0 u* e7 i6 J1 D
# Debian/Ubuntu安装Mariadb! u% k) u3 k8 L
apt install -y mariadb-server
3 N# r U) w3 ]& i S#CentOS安装Mariadb: [9 L) n2 f! T7 U- ~1 O+ |
yum install -y mariadb-server: l# P2 {4 q# U4 D0 L+ `, x
systemctl enable mariadb4 W0 M% z* n" t
#启动Mariadb5 E9 S3 \6 d+ |- ]
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
6 @- H" e0 [9 E#CentOS系统安装Nginx/ Z1 l/ K- b( U, W1 \' N
yum install -y nginx5 Q" x, a3 Z9 K
systemctl enable nginx. t1 `- F$ J, r% A; N8 ~
#Debian/Ubuntu安装Nginx
" | W7 \# p0 H" k% M/ P0 capt install -y nginx% R# b( K$ q" g3 h
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。. A) O' d" F2 j' T+ V8 o4 R2 `$ D
部署YOURLS返回目录部署YOURLS的步骤如下:0 b' V8 L5 e4 r+ ?
1. 创建YOURLS的数据库用户名和数据库:
) ~8 x$ c3 h1 u6 }* } Y! ~" R) v# 进入数据库
. T* a6 T0 I: u9 O; Vmysql6 V6 T4 n& }8 i6 i9 X
# 创建用户名,用户名和密码改成你自己的
3 k7 M6 n- X6 W" U& j+ g( SCREATE USER 用户名@'%' IDENTIFIED BY '密码';
' P' M6 Z% d8 I% w$ j# 创建数据库,数据库名字改成你自己的/ N! j; O2 }3 _, T( v
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;4 A2 v5 u9 Z9 w) L) T: `: y$ G
# 赋予权限" }- v: h% Y _! @) Z9 q! Z
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';$ x$ s, @9 e/ ^& O
# 刷新权限
# o7 P; A: d* x! l# dFLUSH PRIVILEGES;2. 下载和安装YOURLS:
S, ?3 N7 W. o& B( \mkdir -p /var/www
0 o, x) _& t4 J$ z/ l" x" v$ F1 Scd /var/www/
; H' g- x0 |* l. B& mwget https://github.com/YOURLS/YOURLS/archive/master.zip
1 O+ m* R1 I5 r! aunzip master.zip! o' m3 r) M1 [+ e9 u
mv YOURLS-master YOURLS7 m) n; n$ H, ]
# 修改网站目录权限
) h# ^) o. Y0 u( C$ x& g5 g: [4 p# Ubuntu/Debian系统: g$ b. N8 S+ I m6 z
chown -R www-data:www-data YOURLS" P; \5 U# B& G* W( k* W
# CentOS
J: H! L, e% Y5 R/ Fchown -R apache:apache YOURLS6 f7 {* \: p$ a( C
cd YOURLS
6 n+ Q) \1 H K$ e# X0 R( Wcp user/config-sample.php user/config.php
. l1 a; Z! J# M& i8 acp sample-public-front-page.txt index.php
$ X' `( z4 \8 \cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
7 g$ y- T1 Z- S' R3 q2 w# J( _define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
% I% C, J" I! T: `+ a2 O/ L& pdefine( 'YOURLS_DB_PASS', '填写数据库密码' );
& K( k" s9 L7 Ydefine( 'YOURLS_DB_NAME', '填写数据库名字' );# t' w6 H+ o6 |$ K
# 这两行基本不用改/ z; M0 w( a! u6 c! S3 @2 ^/ k
define( 'YOURLS_DB_HOST', 'localhost' );- ^ l, E; Y9 \% h3 Y, V: @
define( 'YOURLS_DB_PREFIX', 'yourls_' );4 O5 S& k6 r' O3 S4 v% u, O
# 填写你的域名,不要加www形式& W& Y Z! `1 ^* C4 M# }7 y
define( 'YOURLS_SITE', 'http://你的域名' );
; H5 u" V2 S$ P& J7 H# 填写时区,国内是8
, G' B4 M% H3 f! {define( 'YOURLS_HOURS_OFFSET', 8 );+ Y) x. u+ _7 a6 Y8 R
# 设置为中文
& W( q" r# [, \: |define( 'YOURLS_LANG', 'zh_CN' );
8 D* T2 W/ {" H2 F. ]. D: Z4 h* t/** Allow multiple short URLs for a same long URL+ q, x4 C/ ]* Q8 R3 y
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)! r6 x4 Y) I4 B. `& ^, d# M; R
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
5 v, W8 x+ C9 o# c8 G" b( ydefine( 'YOURLS_UNIQUE_URLS', false );
4 ~* N8 Y! o# `: \% s. l; V# 设置私有权限8 e# Z" [3 {7 \ H: B( |
define( 'YOURLS_PRIVATE', true );
. ^$ X0 o/ e! q# s5 V5 ?! a b6 e4 _) B9 g2 ?; g6 p
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );, ^& D O( R7 |. _
# 后台登录用户名和密码,一行设置一个,请务必修改
, F8 Y. A7 J5 E& F& A3 H$yourls_user_passwords = array(5 g8 t$ ?, x$ f" }. Q
'用户名1' => '密码1'," U* p" |& W# y- G( t
// 'username2' => 'password2',
- u. q* J$ ?: b- B4 X7 L // You can have one or more 'login'=>'password' lines0 r' L) s4 U. o! L
);
6 w( K+ ?3 T8 h) t; G5 w: e/** Debug mode to output some internal information
# g0 J3 f. z. z* E# A ** Default is false for live site. Enable when coding or before submitting a new issue */7 j0 \- q- o/ [
define( 'YOURLS_DEBUG', false );7 S) W6 q n; j3 i! ^8 {6 ], J
# 网址中允许大些字母填62,否则填36
5 w. z. _# t! Q! O: Mdefine( 'YOURLS_URL_CONVERT', 62 );; W* p, E. N, S9 s; m m: ~
/*& U2 v) e8 v# t# F
* 36: generates all lowercase keywords (ie: 13jkm)
2 Y6 C+ ^/ f" i3 h0 W8 E. A% X * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
$ R# |5 m* } e: _ * Stick to one setting. It's best not to change after you've started creating links.* s: h6 v' G& H& ]( c
*// Z+ K5 v& P0 I4 i
# 保留的关键字,可自己添加; |0 z4 p9 v* D7 L/ M; i6 A
$yourls_reserved_URL = array(
. S6 d5 N d( R# Q" H Z$ D* [' Q 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
' V: s! y& x$ p* H+ T);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。' C# t: `+ |4 c
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容! o; e" A8 ~8 c: I8 r
server {
: Q- }# _) R' \' \ F; f listen 80;
) G/ H. u2 `! Y7 J5 A; m$ g server_name 你的域名;2 X6 Y a% I" b& b+ @, a# ~0 m
charset utf-8;
3 _8 }. b( W0 |( v5 K' }7 R root "/var/www/YOURLS";1 G( K% f' y+ Q: S N+ ^
location / {( ]$ q: w c r- D% K" K! t* A% N
index index.php index.html;
! [( e" P7 m! Q( S- Y; k try_files $uri $uri/ /yourls-loader.php$is_args$args;
) o, g g- m! A4 I+ {2 \ }
" L$ L+ x" y7 G) R' ?9 w location ~ ^/\.user\.ini {* S# T" T3 b! Q2 t x
deny all;
5 a/ [2 b$ ?# N0 j. L }
/ c, A- i7 c( m, }1 M3 V) c8 O location ~ \.php$ {
% \# ~2 b& A! K) y, |6 l try_files $uri =404;+ e; w. H( e! [% F$ |6 S
fastcgi_index index.php;7 `, W) d' e; O0 R( E/ S) A6 f& o
# CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
7 V8 Q2 P+ o- u. f8 e fastcgi_pass unix:/run/php/php7.4-fpm.sock;
5 t0 K& [2 K+ q1 j include fastcgi_params;& k+ B+ n/ @& g8 i" }( [
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
$ l# ]/ G Q: d/ `+ H: J1 L) y }* L s0 u' J' e
location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
; I$ P( ]3 x; X/ m expires max;
# F# n: h- E' O7 V$ V access_log off;% k2 q4 K* G, [( j" |
try_files $uri =404;) |6 x- E1 z# f( i" s8 T
}" ~3 G- i: K- d! e5 w
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书) Y5 \, }/ Z- c( ~1 q- c
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。. r" `/ t2 }8 [" }: h
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
7 f. {! r* M% B. g1 s# f# L1 O) P% F8 s% }# o" p6 R
- \) J8 v& w+ a* VYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
. g2 s# c1 S( Y6 {4 z7 W/ U 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
1 j4 s/ J9 ?" |. }7 d+ c+ K) ?首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:4 l9 Q- O- K1 Y$ C
: r- e* \4 V4 V# `# f* q9 H+ q# b+ x& ]6 D8 N
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。; }- f' V3 L |5 \+ A. ]2 T0 T
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
5 u+ s D# G5 k6 K1 a( Z: T# YYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。) N3 [4 ?0 r' J3 Z+ n: y3 ~
最终网站前端效果图:, e3 r6 }9 t8 S
+ [; v' Q$ m2 [) a) K$ f) v4 g0 D. j
短网址前端效果图后端效果图:
7 |. i7 h) B3 R v; _: H& ?' w) E- k( i# |, D7 ?( o5 n
, K; q! }$ t) W6 n" u" o5 e4 v短网址后端效果图相对原版颜值高了不少。
5 Y9 h8 r3 M4 ^* S- u 参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|