|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
* y% D/ D4 t7 J* O经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。6 s% {- _, y3 n) r9 D
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。1 L' N' D2 @/ k' e3 G* L7 c
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
5 c# z G7 r" G+ l. b
' @4 G$ |8 [; R# P& w" X- e0 l' M
9 ?; H9 n# L# |8 o域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
2 Z" H1 |3 @; |' } m$ p3 J3 X# Debian/Ubuntu系统安装PHP 7.4% u5 c. Y: A$ `2 N. g8 A5 W
apt install -y lsb-release gnupg2
6 _. i9 e7 L! k! ?9 ]$ Qwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -( F7 e) a) Z8 _# Y+ q: Q
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
- h/ b; U+ `! j# b* I. j6 zapt update# k8 v0 _6 I/ n* p$ J6 n3 k
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \$ { b" ?+ T( F3 C& Z8 F+ e
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
2 J8 b# A+ D6 C, r2 Tupdate-alternatives --set php /usr/bin/php7.4, o0 n& N- m* e& W' K) F
# 启动PHP-FPM
' d( e$ ?: F Ssystemctl start php7.4-fpm
4 G4 @( L" g5 Y9 }接着安装Mysql(MariaDB):- r' d, o% o7 t
# Debian/Ubuntu安装Mariadb1 T6 p ^, z: S* B. B
apt install -y mariadb-server! J0 k7 f( P2 Z F( n6 S2 @5 a5 |
#CentOS安装Mariadb% J, f5 B1 y/ \
yum install -y mariadb-server
! s& q0 R# e3 _, B2 c3 csystemctl enable mariadb6 J# o1 u- j- E9 Y; t3 q% z
#启动Mariadb& R# W7 o% ~# P$ {9 W- `
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
# P( E0 z4 b5 W# q/ [; h5 t, s m#CentOS系统安装Nginx
* f: A! B9 `3 F2 O* yyum install -y nginx i; ~8 A1 W: x/ a
systemctl enable nginx c7 c/ o/ x& Q0 Q* e1 S. A( \
#Debian/Ubuntu安装Nginx2 q+ e! m2 f& B2 B0 [; K
apt install -y nginx- U/ u* E$ F, [' @) L' f0 k8 w
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。 k3 S) o8 P1 z5 E$ H: B
部署YOURLS返回目录部署YOURLS的步骤如下: u7 A9 x: a5 }3 m8 ?
1. 创建YOURLS的数据库用户名和数据库:
3 I. ^5 Q9 \1 T8 b4 }: v2 Y/ l/ @# 进入数据库
/ g+ |+ n6 h2 u% s( X( n- Imysql
3 @4 ?7 v6 x1 e0 \4 Z. D2 _; G# 创建用户名,用户名和密码改成你自己的
: P; ?( O4 s6 q6 _3 aCREATE USER 用户名@'%' IDENTIFIED BY '密码';
3 ~8 R4 f3 e: m8 j& d# 创建数据库,数据库名字改成你自己的2 I3 ]; e8 j a0 h. u
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;" X$ Q. c4 h# Y3 y4 V* q
# 赋予权限
: a9 I8 w% K( ]' D* P8 y+ nGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';. F8 ]4 e' w" ^ [9 E
# 刷新权限/ v* V" r/ I6 g' q
FLUSH PRIVILEGES;2. 下载和安装YOURLS:/ Z) I5 C2 c5 R# d
mkdir -p /var/www0 S6 J4 W7 A8 b( ~5 y' a( ]% `
cd /var/www/
" ^: S6 ~: b' _wget https://github.com/YOURLS/YOURLS/archive/master.zip
5 R6 Z }7 X" a3 P+ cunzip master.zip' D. ]2 f1 W) O# ]+ A
mv YOURLS-master YOURLS
/ r- B: `4 b& e2 C; s8 o# 修改网站目录权限 y# ~9 v( j4 \5 ^6 N+ L
# Ubuntu/Debian系统/ e& h5 X% D/ a
chown -R www-data:www-data YOURLS" J9 U4 t& A9 ~
# CentOS
4 V$ F; b" m& Z x2 `/ ~chown -R apache:apache YOURLS
8 l! t; h5 w% u- \0 Ccd YOURLS) T! o9 i9 E5 g5 o; m6 E0 _
cp user/config-sample.php user/config.php
: R, Z7 e$ V" u4 \2 Kcp sample-public-front-page.txt index.php
% Y/ N, g; _! rcp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:' R: j; `. ~5 O& F7 F3 B
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );4 E8 y1 K' q) \/ E
define( 'YOURLS_DB_PASS', '填写数据库密码' );0 ?2 h7 T4 c7 O. |% }: J- o
define( 'YOURLS_DB_NAME', '填写数据库名字' );
9 }* E8 u6 c" [: h- Y# 这两行基本不用改# r, ~* R& G* Y0 Y7 p' @& k
define( 'YOURLS_DB_HOST', 'localhost' );3 G! u1 z# U9 v8 W S. `
define( 'YOURLS_DB_PREFIX', 'yourls_' );7 k- R8 M3 v; b7 y3 z
# 填写你的域名,不要加www形式) R/ U( l, R% c+ B/ n' V. e5 [; H
define( 'YOURLS_SITE', 'http://你的域名' );# o- `+ O, S" c8 i* ~
# 填写时区,国内是8
c3 T4 H- [3 |( ?define( 'YOURLS_HOURS_OFFSET', 8 );; B8 L2 h+ d, k+ Z1 w# @
# 设置为中文; O& t* I) \. N& ^' `+ z5 c
define( 'YOURLS_LANG', 'zh_CN' );8 X$ y2 D' x2 I- R" q8 T1 b" M, u
/** Allow multiple short URLs for a same long URL
9 \8 ]7 p6 P) X; S4 E, u ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior) M- p) J: F& ?7 a! Z& _& y4 E
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
|& b6 X& _; j/ Y% E2 Q3 tdefine( 'YOURLS_UNIQUE_URLS', false );
4 G$ u3 A, U% G3 l1 _/ A# 设置私有权限2 C5 Y9 w0 k$ K" @" r+ V
define( 'YOURLS_PRIVATE', true );1 n" S6 r X9 Q/ h* I" [2 E# g$ z
4 \" g0 ]; k3 x' C l) {define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' ); ^. I! b8 E3 K* x, G- D" W: F# S
# 后台登录用户名和密码,一行设置一个,请务必修改
6 g$ U3 R4 ^" w, g: E: X7 ~3 N$yourls_user_passwords = array(" Q, B8 i6 ~1 b) y. x
'用户名1' => '密码1',
5 y( V; ]( G9 [9 P+ F1 ?% ^ // 'username2' => 'password2',
) Z' \& R2 E9 r2 _7 B' O // You can have one or more 'login'=>'password' lines+ F/ x+ w% b2 k( N) P
);
q# ^1 | b1 `3 P; b/** Debug mode to output some internal information
5 r% A* p% Z9 B# u9 S ** Default is false for live site. Enable when coding or before submitting a new issue */
8 y4 d' z6 ~4 a1 W! ?- sdefine( 'YOURLS_DEBUG', false );
5 I6 s$ J k* l* p! j3 x- s# 网址中允许大些字母填62,否则填366 W) X: T' T3 _) h# }% H0 |
define( 'YOURLS_URL_CONVERT', 62 );, D+ j# P5 A5 ]: ~$ `/ S
/*
6 u9 p/ _* {& ^ h. j* o+ `) J * 36: generates all lowercase keywords (ie: 13jkm)( H) A, \5 ~2 y% y
* 62: generates mixed case keywords (ie: 13jKm or 13JKm), i! Y$ \9 K ?0 M/ F/ \9 S
* Stick to one setting. It's best not to change after you've started creating links.) M; v2 C! t2 }8 `' M% P
*/# S, B: h7 {/ l7 R, N, ?4 d5 w' W; K
# 保留的关键字,可自己添加
4 \) _3 a8 u0 N9 y( i$ f, z1 e( A5 l$yourls_reserved_URL = array(
) c! Z3 v2 s! `4 a: K3 P 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
f& @0 X+ i/ Q$ g$ Q2 g);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。* s5 d: V5 e, ~ w4 _
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
6 M3 d! k' T6 eserver {- q( a. T3 @; i
listen 80;
5 w9 j8 e. i. I' D server_name 你的域名;2 _1 A1 w0 o+ K' F3 P8 [. `4 n! y
charset utf-8;
; |0 G$ ?2 A1 @9 E, J root "/var/www/YOURLS";% J6 }0 D7 F( b4 s6 ]. t8 |# ]
location / {
( k5 V; l/ a% Y! b; n- G8 Z index index.php index.html;
: [ P. V C8 O4 O7 |) R! O try_files $uri $uri/ /yourls-loader.php$is_args$args;& I# \& K( ~9 s3 Z6 a
}" }' {) } R- a; ~& d3 P
location ~ ^/\.user\.ini {
* H% K" {& R$ M. J& ^" u deny all;
6 y3 u3 b2 P9 T6 h }8 t( z8 Y/ o3 _2 \; K7 [5 H
location ~ \.php$ {
$ O2 H4 Y9 l9 `; g' i1 b3 K try_files $uri =404;5 s* R+ b+ z/ w! A( |. Z
fastcgi_index index.php;2 @1 b" K3 E/ e$ ?! W& @& P9 M
# CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
' x2 T5 `5 F' H! W ^ ~4 n fastcgi_pass unix:/run/php/php7.4-fpm.sock;
: B; V# v" D- ]7 ~ include fastcgi_params;
2 o7 G- E" A e6 d2 A7 c9 y& f fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
& u0 S3 ?2 j7 j w }8 z1 b) G/ v4 k# l/ ~% o1 o+ V
location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {3 E3 m) A. N& e: O1 a5 V: ?8 e0 Z. W
expires max;$ M# Z& k n* s5 ]( ^) X
access_log off;
0 x! P9 Q# f/ c9 j& h* Z7 i% e try_files $uri =404;
" M6 N, F& X% i& J }
9 p" r g0 X2 `% v}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书! W& R1 I, J. O- ]7 E
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。4 H2 e1 _% E% c. f
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
1 X( B6 u) l, _2 a. y% F# m
6 a4 Z9 I5 h$ y; q5 I" @
. Y$ w& G8 E2 c0 VYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。8 X ?5 k( E+ E6 z3 t
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
- b8 D' v% G& F5 ~( @- Q, F首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:* |2 Y& w8 E* O% t
' L# |* @# ^6 p s4 R0 H
' d: R8 d- w1 D0 o0 i1 p% w- Z' O
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。5 F' R! {' D( c, O" g4 O0 J9 [7 U
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
" L7 N4 L9 _7 i9 I1 i0 B& L hYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。, t. _3 U( I7 ?. g9 [
最终网站前端效果图:
! k) N# N, y" G$ _9 t+ l: W
$ Z, @" s. P" F3 M+ d8 K0 N1 ^4 y- a; z8 R
短网址前端效果图后端效果图:2 J+ t1 Z$ |: x& B2 G. M- W4 [
$ F$ [9 U) S% S$ P* B$ X
7 B! u; t1 L x) f! z短网址后端效果图相对原版颜值高了不少。0 G. A" Y: }. T; N% K' q
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|