|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
; L( C$ Q, d0 n5 n经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。4 F4 i* Q6 k3 H: s
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
|1 H6 J! y0 u8 M% V" y1 F 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。* ?" E0 j0 T0 `* h+ j* m
- Y6 L! Z, V1 g' n
3 ^9 M1 F* S3 x( ?8 W2 C0 x& [域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:7 [5 H& Y! c( e4 d; r0 W0 M
# Debian/Ubuntu系统安装PHP 7.4
* A* s* _# z# J5 ?- Hapt install -y lsb-release gnupg2
# M; L: v1 k( S+ pwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
7 S9 n8 s! w6 Q/ T0 gecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list2 [9 c% `& L- q* J+ n: e
apt update/ G& d0 q, s1 F5 _+ m
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
W: Y# Q; k/ G. t php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick. p7 b6 T$ k3 E5 K: I0 T( T
update-alternatives --set php /usr/bin/php7.4
& b+ t1 s w+ M2 T4 _4 k4 m6 ?/ z, k# 启动PHP-FPM
: P7 X* x; i) b) R: @systemctl start php7.4-fpm7 b) P& _. k+ L% b
接着安装Mysql(MariaDB):1 g- ?- H, j, S# z6 g0 H
# Debian/Ubuntu安装Mariadb l! B6 s7 v2 `5 n' b, m0 ~ B. w
apt install -y mariadb-server
, W1 b& K' \9 E) J( F: _3 m#CentOS安装Mariadb6 F& Y: d' Z f8 q- b* s2 X
yum install -y mariadb-server
2 l( T+ B8 f' qsystemctl enable mariadb
: E, e% G ^$ s% [#启动Mariadb0 f. I Q0 D* r1 v5 l
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:. [$ H7 A# @: d6 p
#CentOS系统安装Nginx
8 ?) ^( T" y. ^5 gyum install -y nginx
* p# D% U" t8 h5 X( C% p, Xsystemctl enable nginx
( r* H. `/ a9 c" a- V' f) A4 P#Debian/Ubuntu安装Nginx |$ v+ S! M! @9 ?
apt install -y nginx5 t. X' R/ R! W/ Q/ m' x
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
8 c! G2 |2 R0 h& | 部署YOURLS返回目录部署YOURLS的步骤如下:
; \- k, K, q2 W3 h0 [0 y7 M5 ?1. 创建YOURLS的数据库用户名和数据库:' n; ^& n. z) g. X3 N' u5 R$ [
# 进入数据库
8 k P2 v2 I4 h4 V, P+ r) U* N. kmysql1 j. H* C4 i5 s
# 创建用户名,用户名和密码改成你自己的
3 B% Z4 u/ t# n1 BCREATE USER 用户名@'%' IDENTIFIED BY '密码';
( t- a0 l! [! G+ G0 C# 创建数据库,数据库名字改成你自己的0 ?; K# G8 ^ C9 L
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;/ C `/ v% n7 B% w9 i/ b! i
# 赋予权限7 j$ T$ D& D D8 E
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
) T N) F7 s0 q" \* J8 u9 a$ D# 刷新权限
; P( g- x" z+ ^; {* HFLUSH PRIVILEGES;2. 下载和安装YOURLS:. l, k' l5 G- w0 Y
mkdir -p /var/www; ~+ o7 ~6 e( w h2 Q
cd /var/www/7 v! ~9 H& W2 f/ |" r: o* _
wget https://github.com/YOURLS/YOURLS/archive/master.zip# ?! ~$ C: Y2 a, a/ m9 v& v
unzip master.zip
1 E, d! R1 Z# x* m3 ^% E2 d* Nmv YOURLS-master YOURLS
& @2 g5 l/ `" |' z% F1 B; v# 修改网站目录权限) M' L ~# O! }2 Z4 `3 N9 s& P
# Ubuntu/Debian系统
: A) x) ~/ }; S5 M/ t( h/ K: ichown -R www-data:www-data YOURLS1 ?! E, t% f0 F( C. w5 @
# CentOS
$ H! r/ v+ P E$ v' M6 jchown -R apache:apache YOURLS; U5 D1 G g _
cd YOURLS- s1 Z: D5 S+ `* x+ D
cp user/config-sample.php user/config.php
6 X: k* Q2 v6 `' I Y1 hcp sample-public-front-page.txt index.php/ ~' t4 K8 y3 q. n: p3 |& X
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
7 f/ V5 |! x$ ~8 mdefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );
% w7 C; }7 ]3 p* V7 }9 P2 Mdefine( 'YOURLS_DB_PASS', '填写数据库密码' );- u& F5 U, f }. i. ^ \
define( 'YOURLS_DB_NAME', '填写数据库名字' );
# ]) T% N( H' _+ K# 这两行基本不用改
6 r% G0 y8 u/ u2 s* F0 r# gdefine( 'YOURLS_DB_HOST', 'localhost' );
; @; w7 [: A" i x. Xdefine( 'YOURLS_DB_PREFIX', 'yourls_' );. D! M2 Q9 P# q! }& k( V O
# 填写你的域名,不要加www形式
* t+ h- |$ x' m6 j4 E: }- d0 u/ Rdefine( 'YOURLS_SITE', 'http://你的域名' );
' V" s( G4 B8 P4 P' ]7 p# 填写时区,国内是8
- p z9 V: U1 I; A' X y2 tdefine( 'YOURLS_HOURS_OFFSET', 8 );
+ W4 r7 H# F8 F3 Y' o" X# 设置为中文
8 c# z6 v2 B7 ~; E, udefine( 'YOURLS_LANG', 'zh_CN' );# H) `- ^7 K* [
/** Allow multiple short URLs for a same long URL
B+ H$ ^+ m0 R! W ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
/ p, w& r1 W3 b7 Y( ?7 C ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */" s: ]5 V0 c% z V$ X6 g. u
define( 'YOURLS_UNIQUE_URLS', false );& `& e* O) R1 x, K, c
# 设置私有权限# v4 U! b7 I0 P& u
define( 'YOURLS_PRIVATE', true );, F- _8 n" w4 {% C
7 u2 x3 ^0 t" m- }
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );5 l# s, y5 e8 S
# 后台登录用户名和密码,一行设置一个,请务必修改' b7 l: R" {+ H; j8 G& Q, }
$yourls_user_passwords = array(
) @4 J6 a' R0 V# Y8 p '用户名1' => '密码1',1 }( t+ x. r2 x% E+ j
// 'username2' => 'password2',, \/ L' _8 e* y( }
// You can have one or more 'login'=>'password' lines
, T4 H$ |4 e- @( c. C );
3 M% {! h( X5 T/** Debug mode to output some internal information1 V+ G$ u4 N7 y: w. [
** Default is false for live site. Enable when coding or before submitting a new issue */5 G! J- u$ Z! K5 _& \0 |
define( 'YOURLS_DEBUG', false );; `8 m8 D9 F0 U' s. M
# 网址中允许大些字母填62,否则填36 \2 e) F K, X7 {0 h7 Y
define( 'YOURLS_URL_CONVERT', 62 );
7 P8 ^# t! ]/ o6 y/*
, y4 e: v3 R- E# n * 36: generates all lowercase keywords (ie: 13jkm)
: v5 F8 i6 k$ ^+ V2 j* J4 E# C * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
% Y& p+ c' L, b, W$ l * Stick to one setting. It's best not to change after you've started creating links.
1 w2 u7 h( Y8 I4 f _ */) H4 i9 q$ b9 D, H: @
# 保留的关键字,可自己添加2 r$ m8 Z# k" j% c0 J; \0 `
$yourls_reserved_URL = array(/ [ H; A, Q' J7 V2 }' A
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
" J0 _ W- \. \5 b4 r5 C);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。. X3 x* Z% s( E, \1 w( y
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
- }* c9 z5 T6 c- rserver {
: o$ `, }; h. Q, ^" w" l" p listen 80;
8 C* O+ P! \* s( ^4 B server_name 你的域名;! U1 G- g! a! {. M
charset utf-8;
8 C: x! [1 P5 x6 Q) Z. z8 N root "/var/www/YOURLS";" Z1 E4 `- _8 f( }
location / {
- U! w- C, y8 c4 Z4 S index index.php index.html;
- ^/ X( k% F! X1 p; X# e0 m try_files $uri $uri/ /yourls-loader.php$is_args$args;
9 N; r6 \! A1 n }
! R5 {+ [$ M- f( X- _9 b location ~ ^/\.user\.ini {
. X( v; \( t u$ m deny all;
2 g/ ^$ g; E! ? ]( u4 w" g }
$ ?' b# ~' W4 u# | location ~ \.php$ {" C% l' F8 _$ L; T/ m/ K. ]
try_files $uri =404;
: d8 Q5 t6 T: m3 { fastcgi_index index.php;) q" c7 r; `4 M: ^9 L9 }
# CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;2 S# `2 N4 ]/ ]/ q
fastcgi_pass unix:/run/php/php7.4-fpm.sock;$ F, s1 B3 M8 x: S) d; {! e) g& |
include fastcgi_params;* j" D7 z7 Q7 e7 S: a4 b3 t
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;5 d n/ {7 l2 F" j* |
}/ J0 T# l1 H( l0 k5 l/ l8 T1 f
location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
4 N ~# X8 ]/ S expires max;& O' Y6 Z" \7 ], h1 {
access_log off;. y! t0 M% F' c% h2 n& x
try_files $uri =404;
. Z! Z+ y1 v* _" z }
% \8 `8 o' ~0 M3 I+ r}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书; L' q, {) e6 j! W) z
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
: k0 M8 i) f6 Z" r5 P- T浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
+ Y6 G2 ~1 F1 [) Q2 ^# t9 l% ^4 v+ ^
/ y' Z$ N; \% V; h7 v* B
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
" p5 M* z3 m1 _ 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
1 \" R0 \$ h: O4 w首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:. h, Y' N2 U" h s% [3 D
8 w) @. Q0 \# ?3 I
% x. @0 |: a) k1 d* yYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
/ ], o9 l$ s8 e2 E5 Z7 a推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
: N* y; b# z+ c1 O/ U* kYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
# Q. p3 P0 e* C- D最终网站前端效果图:
2 r$ e3 Y. e5 w) r# r9 X! j5 p% z* E- p* ]& a) J) [- D
( Q; b9 D0 `# N$ Y* D- g s
短网址前端效果图后端效果图:8 ]( |8 H* d1 W( C, m
7 B2 K( j( {; m9 R/ ?; L/ Y
! K/ r+ C9 O+ K- ^7 ]1 `, m短网址后端效果图相对原版颜值高了不少。; a0 N4 h# J& o' S
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|