|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
/ S2 v$ O* a3 P9 y/ Q: Y: S0 p经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。) Q4 L; l2 N2 o0 r
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
) X% E' F1 ]8 f8 G" n, ?% @ 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
3 M/ D$ ~$ r8 M% B6 I" i3 K9 L6 r, Q
1 B5 p2 a) a: S. H$ L, E% |; A
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4: C. S/ M; _: M$ ?, {
# Debian/Ubuntu系统安装PHP 7.4
0 s' y# J0 N+ J) @4 ]apt install -y lsb-release gnupg2- Y0 z, {# p& c$ x2 R
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
# W" h4 K7 T6 z$ |1 jecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
& }4 _) M% H+ \) h# rapt update
3 o4 x4 m" a wapt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \" Q/ s* X) x: p* ^9 u
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
4 `( x% i% J. Z0 `update-alternatives --set php /usr/bin/php7.4
8 Q; x. U! ]) W+ Z- _, f H# 启动PHP-FPM
0 u* P6 d- h% v0 Isystemctl start php7.4-fpm
" u: T2 J5 J: x2 B) @7 C4 K接着安装Mysql(MariaDB):! P. ?+ a* o. @; z( J2 o( [# Z. O
# Debian/Ubuntu安装Mariadb
; C, B2 V% y# f+ C \. R, D% @! |apt install -y mariadb-server
9 ]6 z* ~& G" ~" z7 U#CentOS安装Mariadb# x, U/ |3 z. @. |: F- u
yum install -y mariadb-server$ r Z! x" |3 W l' ]
systemctl enable mariadb2 {4 _! a8 w3 C0 A& Q
#启动Mariadb; `# s' N/ i: l0 R0 f
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:4 _: R8 C' F- E+ _8 N" C
#CentOS系统安装Nginx+ [3 D+ s3 ]# K
yum install -y nginx y3 b; n2 G2 @% d* N- ^( k* W
systemctl enable nginx
. j" S$ n$ k5 m) [* B c* N#Debian/Ubuntu安装Nginx
O5 w3 _, a* v: z3 Eapt install -y nginx1 r8 E$ s( ^% e0 G
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
- y% x" `1 K( `3 Q9 B) Q 部署YOURLS返回目录部署YOURLS的步骤如下:0 n# A% @; Y5 a+ y$ v
1. 创建YOURLS的数据库用户名和数据库:
* G" c# t% @( Y! k/ j3 ?# 进入数据库7 ?( q4 y& L$ k0 Z
mysql! [- I/ z. |8 l4 n3 e7 j
# 创建用户名,用户名和密码改成你自己的& ^: x# F) t2 H, m
CREATE USER 用户名@'%' IDENTIFIED BY '密码';
: i) @' m- I3 @# J# g% r) Q# 创建数据库,数据库名字改成你自己的' |, ^1 D- ^4 e$ i5 S
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;. [+ R3 B0 N2 a: I0 h1 b; O d1 t. ~" e
# 赋予权限5 t/ h: z. O7 r* u
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';3 r. j+ L5 h' \( v( a: n1 n
# 刷新权限
( n1 T2 G8 R+ {FLUSH PRIVILEGES;2. 下载和安装YOURLS:1 d2 }! A0 P/ c) X
mkdir -p /var/www8 |2 g; t" e6 s: `
cd /var/www/) C1 T" D+ _) v; j
wget https://github.com/YOURLS/YOURLS/archive/master.zip' e4 p, l6 g5 \% W5 ]4 j( n& O
unzip master.zip
. ]: t9 T9 [6 C/ j& amv YOURLS-master YOURLS' @0 G$ k+ V& q
# 修改网站目录权限% j' U5 I! J. x: \
# Ubuntu/Debian系统8 Q7 F- u6 m3 c6 d
chown -R www-data:www-data YOURLS$ [1 b4 e; z/ J/ \
# CentOS
2 Z- e- H$ R6 `$ ^6 Qchown -R apache:apache YOURLS
1 D0 N( O4 [ ?9 ?- p0 Pcd YOURLS6 {1 }% L* z, h2 ]
cp user/config-sample.php user/config.php
" y9 o6 e/ c8 F+ Y5 p% Gcp sample-public-front-page.txt index.php" Y' c! X4 u _5 i/ W5 O0 M
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
: a5 B7 j; J" S; v) |define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
2 {" Z# b R; M% Rdefine( 'YOURLS_DB_PASS', '填写数据库密码' );
0 B0 H4 _7 {- u6 ^9 Udefine( 'YOURLS_DB_NAME', '填写数据库名字' );; ]6 _+ ?' U* Y, ^! U5 T- o v) z
# 这两行基本不用改
. Y1 ^0 k0 l- _ w8 i) n }define( 'YOURLS_DB_HOST', 'localhost' );3 X& y3 H/ G1 W9 F# h8 B* ~1 W
define( 'YOURLS_DB_PREFIX', 'yourls_' );
5 `4 \. f4 D, L! t. X |# 填写你的域名,不要加www形式& v; R$ i8 ~$ L% D, C. v
define( 'YOURLS_SITE', 'http://你的域名' );
' g- H7 n! x: r) o2 p# 填写时区,国内是85 y* Q* Z: j3 t) Q. g6 j
define( 'YOURLS_HOURS_OFFSET', 8 );
5 f4 l5 F+ a; G; @) ]# 设置为中文( e2 M: X. k9 h5 y) Q% K; m
define( 'YOURLS_LANG', 'zh_CN' );
Z: B( [! O; v8 E) ?/** Allow multiple short URLs for a same long URL" O/ H. e6 D0 r4 _4 K/ C
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
4 l/ k% {8 V D7 b, Y/ n0 x ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
% U2 J, Q+ ~- {1 x4 Ddefine( 'YOURLS_UNIQUE_URLS', false );
( z1 X# ]& i; O$ u8 O f# 设置私有权限
7 h1 U( K- A8 \" b vdefine( 'YOURLS_PRIVATE', true );5 U" M) X7 p0 t# u' u* E3 r
# j9 W1 Z3 e8 n3 o# Ndefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
3 U1 d2 @, v2 y4 x/ S1 I$ c# 后台登录用户名和密码,一行设置一个,请务必修改0 t: y/ \3 Y6 }$ M+ w
$yourls_user_passwords = array(5 `8 n6 r. a' D' N6 N: t7 P3 j
'用户名1' => '密码1',# Q' |( I% _& O% D2 t/ Y" e
// 'username2' => 'password2'," q$ N6 |+ u! ?9 v
// You can have one or more 'login'=>'password' lines
0 v2 ^& f$ B6 Z5 t );
+ }/ q+ H' j& E4 L0 o0 |' I9 T# Z/** Debug mode to output some internal information5 `7 `) w- T' e% c3 s4 u) _' w
** Default is false for live site. Enable when coding or before submitting a new issue */# I: {* a3 y$ }9 n1 o
define( 'YOURLS_DEBUG', false );
# u. [; V7 D3 q- N2 j# 网址中允许大些字母填62,否则填36$ ~7 p' a* [7 `2 W7 |
define( 'YOURLS_URL_CONVERT', 62 );
# F: }' m+ ]' O/*. z- z: h# Z4 M
* 36: generates all lowercase keywords (ie: 13jkm)* s* |$ @- F- j/ U* z# K* l
* 62: generates mixed case keywords (ie: 13jKm or 13JKm), i3 G2 Q9 D% o9 }$ C
* Stick to one setting. It's best not to change after you've started creating links.) O" t ?& d$ r* D' C: x
*/9 C, p5 \! Q: d( u: M; {$ l7 u2 |1 u4 V
# 保留的关键字,可自己添加) `7 [ x5 J4 J& g! a6 f9 e
$yourls_reserved_URL = array(
2 B8 m/ ~/ A) I Z: ~ 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
4 f- y$ i0 B, e8 x2 D);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
1 H5 r4 s: X/ Q% O! o1 _) Z! T4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容. s$ e; A1 H+ V
server {
" L) y5 [+ B! B6 h listen 80;* t& G. L m3 e1 k G; w/ I
server_name 你的域名;5 ~8 T( V3 W% J/ S
charset utf-8;% C: v( e* m, M8 y/ d
root "/var/www/YOURLS";
9 u/ Q0 k% A1 r/ k$ j location / {+ F: t- S6 c2 p6 Y0 y8 o* }* `
index index.php index.html;
) [1 i% A& s/ x( @$ z: z+ _ try_files $uri $uri/ /yourls-loader.php$is_args$args;
. J0 p2 j+ u' h }% K$ g5 S0 z8 R- m' i/ g
location ~ ^/\.user\.ini {' W1 f! i' J7 I
deny all;
) ]) R, [2 ~/ ` }
4 N/ ~0 }8 m" e; f& N location ~ \.php$ {
$ h! h/ ^) T9 E" Z8 D s# ?3 V {7 k try_files $uri =404;( n# p0 d- C3 {3 Y# d
fastcgi_index index.php;
9 J& }* O, ^- b: B/ {! U # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
7 O8 p' }; X0 n fastcgi_pass unix:/run/php/php7.4-fpm.sock;1 A: i7 U5 [% U! N4 Z+ H
include fastcgi_params;
3 i% E3 z( F9 q' K fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
2 h& b8 Y' I" z8 t }
' g1 D" o+ F# x8 ` location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
5 y8 G) w( w6 Y6 D0 e8 _ expires max;
0 [; _, \7 o. }; S- L access_log off;; R; j8 x/ h: ?3 [$ @' a8 Z- u
try_files $uri =404;
) S' E5 N3 S& C8 e, J9 M }
) `9 x8 e; K; c}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书. M h' r3 E* ~5 y# _
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
& L5 S' D) g0 D; R$ b% t4 ^浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
/ E" Z$ ?6 D2 z' g
3 j, S% E" d/ ~1 r6 k' c6 ?4 p7 p ?
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
6 U( n- T3 h) k' _ 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
% N! i# P" I' n/ z& n% @首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:8 x! `) c$ J, I5 U, e$ e1 E2 V$ O' a
1 N7 X; Z/ s2 \- @
6 h; d- r. L* S2 W
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。+ U6 n+ |9 Q! w. s
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
. Q$ N3 U' S* z- E8 x0 sYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。( ^) q4 q6 U8 P9 G1 _6 z4 ~
最终网站前端效果图:
/ a8 J+ b o' \1 h2 u( Q
* u! v6 [8 ?" v* J- @" L3 h1 _" H8 v+ q/ |) I) d+ k9 `! ]
短网址前端效果图后端效果图:0 V; ?% a A1 ?
. B/ L3 X6 S; M3 J7 a% y& ]1 n5 G3 o/ M4 t3 G
短网址后端效果图相对原版颜值高了不少。& K& |" t; I9 b0 ?. O/ s0 e3 o
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|