|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
5 L5 f7 f. d4 Y0 a经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
7 U3 v% V8 }; S! O本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。) [; K0 a8 u& B8 c
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。" B) T+ E5 E* v, } _' Y
. q' }( U/ o4 @9 y8 c3 ~2 R- O0 c+ R' z% j5 o
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
, O0 Q/ G6 H4 n# y, X3 U" T# Debian/Ubuntu系统安装PHP 7.44 o6 V8 O+ w) e8 M2 C h7 V
apt install -y lsb-release gnupg2
8 S0 z* f. v" l* V. c5 qwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
: q0 g2 k) A/ T% a3 z* k Iecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
% m( T6 X7 v4 C! _; [apt update
8 E; X9 q9 _& S) \# d# E& o' F, a! B: Lapt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \: l! i: n- h' S# F/ n- G8 B
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick' K# U& Z1 ?8 h* [2 B g2 d
update-alternatives --set php /usr/bin/php7.4
' _2 \2 J, u# u$ O* g6 O2 Y7 F# 启动PHP-FPM$ j' {" F8 Z- O& }/ G1 `8 v
systemctl start php7.4-fpm1 h/ t- F* l" m4 R* S
接着安装Mysql(MariaDB):1 I4 i4 L) Q5 w6 } j; H4 x8 F+ G! D
# Debian/Ubuntu安装Mariadb
- b5 B5 v3 J" v8 ?1 ^+ A" Qapt install -y mariadb-server8 v. }# f. s3 [! k2 G- N/ V' a( U! S
#CentOS安装Mariadb
& h8 r# X* K. B0 n; F& Lyum install -y mariadb-server9 v( l( e8 [' k' H8 V- p
systemctl enable mariadb2 M9 H4 g5 t" B7 O$ h) \, j Y8 q/ n
#启动Mariadb
. k8 S# j' {3 y! E5 S5 v4 K, r+ Qsystemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:* j- G D( N0 c' @: t9 z( e! l
#CentOS系统安装Nginx: L- J) z8 v- T4 w1 a$ `
yum install -y nginx* z- K1 y9 c" U
systemctl enable nginx' \. ]( y% s8 Z! ^# D9 }5 W4 s0 W
#Debian/Ubuntu安装Nginx
# W& O* Q9 K8 b5 ?0 y0 ~! gapt install -y nginx9 d, _+ J6 t- G( ~
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。. K4 S3 V4 i i7 Y. l) I5 v; ~
部署YOURLS返回目录部署YOURLS的步骤如下:
0 C/ Q- Z2 P/ @3 G T1. 创建YOURLS的数据库用户名和数据库:
, \$ F$ D4 z0 n( T; ?. n# 进入数据库! f5 H& f+ m* i: j& U
mysql. Q9 Z7 }1 f. r: V: Y
# 创建用户名,用户名和密码改成你自己的
6 Q5 X H6 P7 K$ ?/ t$ NCREATE USER 用户名@'%' IDENTIFIED BY '密码';
2 u3 X7 V$ @: q7 U: v2 q! j8 Y9 V# 创建数据库,数据库名字改成你自己的; ]( x* }' m# V+ V
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;# W2 l3 X6 [$ L6 t$ p2 }! l$ R2 t
# 赋予权限8 V$ H6 p1 L2 m- N. B6 ~" R# a
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';2 U7 k4 I, o3 G( _' p
# 刷新权限/ c( q+ A, b% p' z% [; Q
FLUSH PRIVILEGES;2. 下载和安装YOURLS:3 ] v, F2 ?9 I) I. T* P
mkdir -p /var/www: K5 W$ Q5 N3 N/ V% w
cd /var/www/
% ^+ H) b/ f& Swget https://github.com/YOURLS/YOURLS/archive/master.zip
k/ t4 W; }9 X1 xunzip master.zip; s% Z* }$ }; h' H3 S) O) C
mv YOURLS-master YOURLS
6 w: U1 G, l' Q/ o1 i# 修改网站目录权限! v5 [( ^$ [/ f. D7 l3 B5 g
# Ubuntu/Debian系统9 M9 ^+ T: [( ]9 Q8 Q1 B
chown -R www-data:www-data YOURLS% u q1 j L# Y% b
# CentOS: n/ |/ z# Q* Q& C- C* E
chown -R apache:apache YOURLS" Z; |8 f5 o1 p0 z* w
cd YOURLS D" N X) g3 P
cp user/config-sample.php user/config.php3 V: {( j j4 P/ Z+ O8 m. B+ }
cp sample-public-front-page.txt index.php+ y1 w4 ?6 V* k7 W3 U4 f
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
S% B: K; ]6 I; _: w. J: Gdefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );) h; ?' u7 ?+ v+ W$ z' C
define( 'YOURLS_DB_PASS', '填写数据库密码' );
' U& I# d' T8 I; Z. Tdefine( 'YOURLS_DB_NAME', '填写数据库名字' );3 v& N) S1 U: a
# 这两行基本不用改 Z2 C0 }7 }. N. B6 Z
define( 'YOURLS_DB_HOST', 'localhost' );* b/ c4 J* T, |' F& h
define( 'YOURLS_DB_PREFIX', 'yourls_' );- n& a* ?, L6 D+ C
# 填写你的域名,不要加www形式
" C6 k* j4 d! w9 J$ G8 x6 R. Ydefine( 'YOURLS_SITE', 'http://你的域名' );
" W5 q) b k% {# 填写时区,国内是8
' i* S) Q+ ]# f2 \2 j% x8 ydefine( 'YOURLS_HOURS_OFFSET', 8 );" }1 y9 `) T) K* }0 J( K0 C0 Z/ l0 L0 _
# 设置为中文
I1 {& {1 F2 r$ w) R' Ldefine( 'YOURLS_LANG', 'zh_CN' );! N6 ^* Q M9 u1 v+ g9 W7 X* B
/** Allow multiple short URLs for a same long URL
; B9 Z( a+ H3 g1 v" i ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
- o% y; G5 \: I5 x+ M6 k2 m7 O ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */+ h4 W- B! i" |! v- G
define( 'YOURLS_UNIQUE_URLS', false );6 \% T" R( B. O* k0 Z6 |# u2 ^
# 设置私有权限 @) a% _7 c- U( ?* l$ Y+ n& A0 x8 _
define( 'YOURLS_PRIVATE', true );' W, j. R* c- Z: I+ }
8 \; X: ^, h& V
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
0 W$ M" w' l0 E% ~% J3 f# 后台登录用户名和密码,一行设置一个,请务必修改' m A& {9 R+ o5 h+ @* e
$yourls_user_passwords = array(
) n1 ]5 B T# b0 X* P- e: }4 C0 q '用户名1' => '密码1',
# Y; G1 F" X6 w3 x // 'username2' => 'password2',3 f9 V9 E* N. D: e* p d% I
// You can have one or more 'login'=>'password' lines
5 s' K% |' P5 J' n );' z: S7 S8 h) h* K \) l6 t0 G- u
/** Debug mode to output some internal information7 _5 B, R% \5 F! y7 E
** Default is false for live site. Enable when coding or before submitting a new issue */: i6 G) L3 y9 ~0 S
define( 'YOURLS_DEBUG', false );+ l( W3 k5 v! D' l: q8 B. Z
# 网址中允许大些字母填62,否则填361 X+ u, T# t% V/ {
define( 'YOURLS_URL_CONVERT', 62 );. J q& }2 Z4 V! p3 I# ^
/*' J( \9 A+ w( e1 u- r; v% b
* 36: generates all lowercase keywords (ie: 13jkm)% u- ^! N6 s3 S+ ]
* 62: generates mixed case keywords (ie: 13jKm or 13JKm)$ ?) ?* A% L3 j7 h' f( u
* Stick to one setting. It's best not to change after you've started creating links.! x1 k+ d; `8 t3 R4 W
*/' Z$ ?# F+ g3 D6 g$ D
# 保留的关键字,可自己添加" n8 _: a# `3 f
$yourls_reserved_URL = array(
* K* |; P' Z2 a9 h9 v$ S 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
" k( K6 c, O7 _8 M) D);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。) m+ d4 A! \; C1 _ j# v2 a
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容6 `% r4 s% k5 ]- y- f. g" ^+ i$ D
server {
. \# M/ a* l% H0 [' V' W& ~ listen 80;; z9 a) R# O7 A% b
server_name 你的域名;
1 s, V0 v+ p, S$ j9 @ charset utf-8;
4 b. Z# r4 B5 X" Y) ^3 I8 e root "/var/www/YOURLS";; l3 ?' }# ^* R; o' n+ c5 l
location / {0 C3 R J& H2 U0 _) I% T' d2 M
index index.php index.html;
7 a% U$ k9 _( y9 R# O try_files $uri $uri/ /yourls-loader.php$is_args$args;+ s6 E; M a. ~6 M- m
}
6 R- p2 a0 k2 }: c/ } location ~ ^/\.user\.ini {% {4 L0 l1 M6 c/ X* P1 P% [
deny all;
) m1 B: P; ?% G# l }
' g$ ^0 e4 l x9 l3 M6 k( p location ~ \.php$ {
) n+ A# u5 Q* M' l. T8 \7 \ try_files $uri =404;5 ]) K8 ^! \$ z; W' V; ~$ p
fastcgi_index index.php;* [+ o) O5 f! K
# CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
# c3 B: ^/ y& A; ? fastcgi_pass unix:/run/php/php7.4-fpm.sock;+ ^. G5 o. i5 D3 T$ ?- v
include fastcgi_params;( r1 v, D+ i* `* s/ }$ Y1 G9 K
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;" e, ?! A8 `# r5 q+ c
}2 u5 F. g' L# {6 U% V/ G
location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {; w" |% v! B3 E) X0 u) q* R' C! L
expires max;
$ r4 o, ]7 g7 e: a' J- i access_log off;* \: X0 |' W" S g( [% e
try_files $uri =404;2 s. A9 T' e8 f% a
}) @* U& C. C$ d, b3 I7 S0 @
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
( w! X9 i5 R: ~. U+ G5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
& O) }6 | ~8 N+ r4 _浏览器打开你的域名,配置正确的话应该能看到类似如下截图:5 I, D8 `, p7 Z
/ _+ Z8 x& c! N* b9 q, H6 r+ Y0 A9 ~0 P$ c# p4 O" ^: [
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
, T* U6 a* h; }; A 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。6 K1 |) L0 o5 }4 K
首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
- ~# H }. \5 l/ c+ t
/ m4 D! ~6 M- ?8 }! v7 V3 y( O* C4 u+ m
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
$ g. S' `/ D5 o推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。; |) X7 |* D; t* g! S! c; I
YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
& f+ n# X( M, ?1 X# C最终网站前端效果图: n q/ s1 a" G, T
1 ]* J9 l$ o9 J) z" ?
1 p' u$ y+ W8 z' g' u+ k& q# h
短网址前端效果图后端效果图:; D, n7 ~/ J9 W
! g5 ~# u' [' g2 b \ v" u a
6 n; k7 U, t4 C, c9 O短网址后端效果图相对原版颜值高了不少。+ N3 L+ F2 J6 D; }. S3 n( S
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|