|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
7 m- g+ r/ s/ E' p4 ~; B" M经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。5 Q/ U# w1 t# Y# o- d# ^$ D
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
( c% p! [# e4 X* C 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。, T P8 B" Y9 U+ _6 y- o" v
2 ~- V4 Z5 L! }% I7 O T
9 ~- J8 x! X9 M; `域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:2 U N! U- X& l+ V- y: f/ `9 u
# Debian/Ubuntu系统安装PHP 7.4
7 g* f# B) S5 i. L4 z, Hapt install -y lsb-release gnupg2) K/ F, P/ Y, g, U3 I% p- z, Y
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
" y( `- r, u( k: k% iecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list( O: I/ C4 W8 e" z8 T
apt update0 l9 M. }* f/ J# w7 e8 j
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \$ h$ _; l$ T( Q: x
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick- ^/ ?# Z- j. C+ M0 L1 J/ F
update-alternatives --set php /usr/bin/php7.4
+ Z- s$ |) C( c* W! w3 b# 启动PHP-FPM
# d5 R# j% I1 E+ L" m \1 @& B8 Bsystemctl start php7.4-fpm: t( m) B+ w8 s* B
接着安装Mysql(MariaDB):* G8 W2 J2 g. d& g2 [* Q# K! B
# Debian/Ubuntu安装Mariadb
/ i) a) Z0 Z) ?9 H. hapt install -y mariadb-server1 C9 m% A4 D8 m1 N
#CentOS安装Mariadb
7 M3 \# C% `* h5 nyum install -y mariadb-server; g( ?1 D- i# m3 Q/ z: m7 i
systemctl enable mariadb( W; k2 u( ?, ^% S& j
#启动Mariadb* k4 g! H8 x: h$ g; l. e b+ q
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx: y9 H+ e4 _$ N5 X! K
#CentOS系统安装Nginx
0 b! U# B: [% D6 H; Xyum install -y nginx5 e: ^! f4 W9 _; R' U) x5 H
systemctl enable nginx
* i: M, H9 A+ Q1 {. E+ _5 @#Debian/Ubuntu安装Nginx
& f: V- S- j" |/ n2 y8 H+ fapt install -y nginx \, Y* ~3 B/ c; Y' f W9 o, {# D3 w
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
/ h0 }5 t v- M |2 Y/ l8 [& z 部署YOURLS返回目录部署YOURLS的步骤如下:
4 S2 D& E" G, T% P1. 创建YOURLS的数据库用户名和数据库:% W4 z C- T: }1 O
# 进入数据库3 ]5 h* O5 I2 b9 R
mysql
9 {% g7 k0 y9 y1 I7 V# A) A# 创建用户名,用户名和密码改成你自己的& J- l- q$ o; J3 ]- y: E. D
CREATE USER 用户名@'%' IDENTIFIED BY '密码';
9 d3 Q( K! Z# ]. L6 X" X0 e8 `+ ]# 创建数据库,数据库名字改成你自己的/ u5 O. M) }' P# ^; ?! m
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4; K( V# w, r x1 ?+ q. i# W5 }
# 赋予权限, B7 c) f9 u' ^% Z
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
+ G. u) ^6 Z- M+ J# 刷新权限% n8 H) N- E7 j( F- o) w- C3 }' R3 k
FLUSH PRIVILEGES;2. 下载和安装YOURLS:4 d/ V( w* ^' P! b9 q, x
mkdir -p /var/www. ?9 k# I9 }( R1 E, j
cd /var/www/ w) y0 i8 n' k
wget https://github.com/YOURLS/YOURLS/archive/master.zip
2 {1 f3 Y/ @) o) T* `; b$ nunzip master.zip! N7 R: Q* t; y( m
mv YOURLS-master YOURLS
# i7 N4 E- N5 C/ |- J# a# 修改网站目录权限, Q: }! `' j F- G
# Ubuntu/Debian系统. {' ]# F3 C; i
chown -R www-data:www-data YOURLS
0 o3 Y- Y: g( R! x6 ?- N" x) m# CentOS
) I' L: X+ l* M! C" {chown -R apache:apache YOURLS5 H+ A2 i. @* X, n$ j
cd YOURLS
2 L* f' P t# X" W3 Kcp user/config-sample.php user/config.php- I- l( i" F3 X
cp sample-public-front-page.txt index.php
$ `$ e/ \; }( Tcp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:5 {* Q/ f6 U+ Q3 Q6 V
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
X) K9 c3 l* H) y- `" Q+ b* ldefine( 'YOURLS_DB_PASS', '填写数据库密码' );9 x; O- q X8 ^
define( 'YOURLS_DB_NAME', '填写数据库名字' );9 G/ Y, n) D8 w( _9 _1 a! v
# 这两行基本不用改
& D7 V2 p/ ]2 s% _7 o5 }* Ndefine( 'YOURLS_DB_HOST', 'localhost' );
9 e" N. i8 G2 Rdefine( 'YOURLS_DB_PREFIX', 'yourls_' );
4 u& k2 V# G# Z/ k# 填写你的域名,不要加www形式' V* r, C# }; ~: X
define( 'YOURLS_SITE', 'http://你的域名' );, M7 A9 i8 R$ m4 I0 T1 Y3 |/ p
# 填写时区,国内是8( D; p% d4 R! B, R" m/ v# A
define( 'YOURLS_HOURS_OFFSET', 8 );, b; Y; m# t- E, p$ m) C1 b: c
# 设置为中文
0 _, y+ j2 o1 u# G6 xdefine( 'YOURLS_LANG', 'zh_CN' );
9 u$ V% D* ^+ u7 d/** Allow multiple short URLs for a same long URL, B# n5 } z! d* \2 X+ n* N2 l" T
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
% I. p( J" e4 z. R" ^* N; E ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */+ T2 [, k9 G, M4 r
define( 'YOURLS_UNIQUE_URLS', false );
5 {. Z x: E( E& D' r: H# 设置私有权限7 m5 U3 G8 e' R3 X' B0 d, G& E
define( 'YOURLS_PRIVATE', true );) P" ^( M k+ I7 d3 H
7 {/ ^% l: a+ z4 j- Qdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );2 g3 ^* M; R- M( O W7 K$ _ M
# 后台登录用户名和密码,一行设置一个,请务必修改
2 x7 b: R x2 b$yourls_user_passwords = array(
% U( N0 r$ L1 O- q7 a '用户名1' => '密码1',
. I2 x$ B. q$ m8 e0 x // 'username2' => 'password2',
, h! Y+ M9 `* B' k6 ` // You can have one or more 'login'=>'password' lines
+ M. b0 N# R# T3 y4 p );$ c- [% q, l1 [0 O! w' H
/** Debug mode to output some internal information4 e- ]3 J9 O% ~! W: T6 l9 N
** Default is false for live site. Enable when coding or before submitting a new issue */( t+ I( ^ t6 D9 @
define( 'YOURLS_DEBUG', false );
# i; M8 d _+ ]0 j# 网址中允许大些字母填62,否则填36$ n( r2 v/ r' c. S
define( 'YOURLS_URL_CONVERT', 62 );1 _6 u& q, x+ {# h0 z
/*
' N l9 X. S* u/ O) \7 P * 36: generates all lowercase keywords (ie: 13jkm)
L$ o: S, j5 _1 Q5 ~8 G& f0 ~ * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
& x2 p$ ~" S" [2 z: ?" w6 H* o/ p * Stick to one setting. It's best not to change after you've started creating links.* P0 @2 r% Q5 X* `
*/2 I) _6 X. a" _5 y9 O7 [5 {" N
# 保留的关键字,可自己添加
" [: y9 ^5 o/ [8 ~% ?1 k$yourls_reserved_URL = array(0 u+ B2 t: r8 n! V( H: y
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
( D% [: [9 f* v5 E8 s$ [);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。- X8 W1 p' b2 N/ ~+ p
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
' Y: f, W! W1 F' Y' i7 u userver {/ ?! f3 F' ]) Y' e- P$ F+ ^
listen 80;8 P* _! o: G, r1 u/ s/ c3 D
server_name 你的域名;
* v7 u, e2 `2 T1 { charset utf-8;
" u- |' `3 D) Z root "/var/www/YOURLS";; P9 Z9 E: {; ]! C
location / {
& c# g- @- a2 t1 ^) p$ O R/ U index index.php index.html;
6 v5 ^5 ?( M( E: I3 d/ L# d) T try_files $uri $uri/ /yourls-loader.php$is_args$args;9 Z( m8 F0 U% i$ u) k% Q
}) A, ^) d i; u1 f+ c0 N
location ~ ^/\.user\.ini {: {0 E2 L% Y8 I5 [# v' r7 O
deny all;
' \/ K1 L# s1 @" ?& B: T- }7 C }
( ^* S' _! S, a- f location ~ \.php$ {0 [1 s7 D/ h) D9 J/ q
try_files $uri =404;9 `! b2 M3 T0 G" Y
fastcgi_index index.php;
4 F6 X+ d, x# F6 ~. j9 d2 I # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
6 }$ d8 A1 I+ [% \6 n) s' n) G fastcgi_pass unix:/run/php/php7.4-fpm.sock;& V8 l, K; A1 ?2 p9 b& v6 L/ }
include fastcgi_params;% w3 b6 ^; e& S+ R7 A. m8 e, J
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
! j( C. T$ Y4 k8 Y6 ]8 k$ ^+ F }
7 n$ b( D0 y$ h% y( `+ v. n) ? location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {% ^$ q2 ]: Y; m! }& l
expires max;
: `, w0 ~& Z$ X2 ^/ Y access_log off;7 Q' z- a6 |6 a: o4 ]5 m. G
try_files $uri =404;
5 H- o& X7 \* G+ b7 Q K# V9 ] }
3 ]0 ?; b( M. X% t# I+ \- O7 `}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书1 u* C' `5 u7 b9 \
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
+ J& G$ W. E$ I& c: _( ^# K& s浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
' H+ P2 O* `: ]; y7 z# |9 p' B( @* u2 d W
6 s2 a: C5 o! T7 M# kYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
. Z2 n3 `# x& w: P: @! d# t9 ? 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
6 K2 s6 Q d- Q. ]首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:. k( [& P0 n9 e# U5 V
/ G. r6 u5 y9 y+ H! o! G
2 P/ R/ H5 [% n; [! e9 N
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。5 a& l+ A3 j. h( n1 \
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
1 t W6 N7 }1 Y# e5 B0 dYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。$ D4 k! {8 m8 p8 M v
最终网站前端效果图:: ~0 g1 W$ ~& o, E. t! ~. \
J8 a* ^/ w C3 B4 k) T2 X# \
9 p& r0 Y2 j& N, H; q$ N7 N$ y" i
短网址前端效果图后端效果图:7 A' v- E' }1 l1 \
0 u; G2 N/ c/ a' C5 B) P' J3 B
! ?, \( e ]* R; p! F
短网址后端效果图相对原版颜值高了不少。2 M! M7 D3 @/ X. t3 E, [
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|