|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
0 Y# E7 E* p8 c* U经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
' K4 Z" B6 P0 m2 z本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
5 U/ M2 ~# C% I( | Z1 N 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。. d4 u5 N& R+ k" G: f
1 l1 N. u8 C, p3 F
8 F2 [1 u7 Z, e) X4 H, i1 ~, C域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:4 V! J' k% W: t: U
# Debian/Ubuntu系统安装PHP 7.4+ f! k+ f' v" V% X% P0 H, J
apt install -y lsb-release gnupg23 [/ X5 r$ d+ v1 l3 i5 d
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
( Z1 D! M M% h7 o7 Fecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
+ F: u6 N6 M: H0 r- r8 u j" c8 Zapt update
/ K' J% c( V. T$ k7 ^- M7 `apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \' y6 ?9 U. a0 M
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
' D- `, G( L5 l: k4 U6 _update-alternatives --set php /usr/bin/php7.4
4 g4 P% x, s- h. c8 h0 E; j3 m. V# 启动PHP-FPM
" R8 K) f1 s' D5 o5 Qsystemctl start php7.4-fpm
( m0 @( s; e$ Y# |4 u) H( b: r: y接着安装Mysql(MariaDB):6 w" q& l! R9 d( ~
# Debian/Ubuntu安装Mariadb/ m; X% N" H$ X2 `" _
apt install -y mariadb-server
1 _, o9 z, m4 N" g# Y& v7 Q+ T3 b- h( A% c#CentOS安装Mariadb
3 b6 x% a7 L. o* [8 m3 Iyum install -y mariadb-server
: e; f) v5 [% N" A. ]+ A: c1 D k& ssystemctl enable mariadb1 ~3 ~1 c7 j* _# m' ^7 W, B
#启动Mariadb
9 X6 H7 w! g# _+ F. ^systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:8 E1 q* I ?8 N
#CentOS系统安装Nginx
" i- Q' U! t' T4 Syum install -y nginx" a& S2 r5 U w7 n ^3 O
systemctl enable nginx1 l* g) w+ z9 H8 E* t8 ~4 o9 b
#Debian/Ubuntu安装Nginx
' P8 l J1 Z; w- \9 d. K6 ?/ capt install -y nginx8 D. H7 L2 E3 G
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
; v, Y/ @& X- i2 Q n% P 部署YOURLS返回目录部署YOURLS的步骤如下:8 O9 J \$ v8 O: u9 Q. P
1. 创建YOURLS的数据库用户名和数据库:
. Z5 C) E/ `: I, {) U# 进入数据库
/ u) j5 K, A$ N/ @mysql
, V! ?, P7 h2 U' O$ W/ T# 创建用户名,用户名和密码改成你自己的
3 y- l0 r1 [6 F/ g+ r# JCREATE USER 用户名@'%' IDENTIFIED BY '密码';
/ V7 c( `) H5 C, g1 t e% z# 创建数据库,数据库名字改成你自己的& f' R9 B6 a1 E
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
: J. X7 \% ? m, b# 赋予权限
) }) o6 M0 q0 G: vGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';# o; b2 H' n! B- o2 y- N% F9 I
# 刷新权限# t. b* D" c4 A6 Z% ]: q
FLUSH PRIVILEGES;2. 下载和安装YOURLS:; i; m/ i9 S7 A7 w
mkdir -p /var/www
; l" |( u6 ?/ X. v6 Q8 x* Fcd /var/www/
6 L1 ] Q" b, G* f6 X% ^ g* Gwget https://github.com/YOURLS/YOURLS/archive/master.zip
% e4 x s' L; ~4 lunzip master.zip
" ?# f w& o: g' Q/ u! Qmv YOURLS-master YOURLS9 i' o" [4 Y, j
# 修改网站目录权限! s4 h5 u6 J, \* a c$ k. E+ J
# Ubuntu/Debian系统! H: Q2 c* y% J4 N. A( t
chown -R www-data:www-data YOURLS
. n0 Z3 h% s y# CentOS$ [2 f% K2 j/ K9 B
chown -R apache:apache YOURLS
0 V8 m4 Q5 ?; E) H1 U, |: ccd YOURLS4 B* c% F# A8 Q
cp user/config-sample.php user/config.php
, v" ^9 [8 L& Y6 z, j" Mcp sample-public-front-page.txt index.php
8 F2 o2 _/ K7 C! z" V, C, d# j8 h) ]cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
% S, g9 e8 G. ]define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
# d8 |& U2 [( v1 z- b! ~( ?define( 'YOURLS_DB_PASS', '填写数据库密码' );
' ~ m& ?; q* gdefine( 'YOURLS_DB_NAME', '填写数据库名字' );1 n4 J, |! ~! O0 Q7 F% P& R
# 这两行基本不用改. X) i& \* ?3 ?8 }& Z/ P
define( 'YOURLS_DB_HOST', 'localhost' );
8 B j8 b: o6 R3 b- J# ?define( 'YOURLS_DB_PREFIX', 'yourls_' );
6 L, c- i @, e$ p# 填写你的域名,不要加www形式6 U z3 o! E2 s2 p* k
define( 'YOURLS_SITE', 'http://你的域名' );
0 }( V6 m. j! i e; u- Z4 Z) F$ {# 填写时区,国内是8
% e7 x, M9 u h7 Idefine( 'YOURLS_HOURS_OFFSET', 8 );5 P: { s$ B' u! Z! k& @
# 设置为中文
" s% E* g) O0 Odefine( 'YOURLS_LANG', 'zh_CN' );
9 k- d# ~( q& [6 e/** Allow multiple short URLs for a same long URL6 E" f4 a% Q6 L2 i
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)/ a2 p z1 y2 J
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
, j( p' v# b* ?2 V$ Z$ cdefine( 'YOURLS_UNIQUE_URLS', false );# `; _5 ^9 X! S7 p
# 设置私有权限
% j7 {6 {& g T1 Ddefine( 'YOURLS_PRIVATE', true );
5 f, y: }( D( K: w: P
, p0 t, ~# h6 qdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );' {) `- d% K# y0 M- h
# 后台登录用户名和密码,一行设置一个,请务必修改
2 t; P$ P+ S7 h) N+ o* b$yourls_user_passwords = array(
; \4 X) H0 S5 I$ g4 m '用户名1' => '密码1',0 g: n8 F/ D* n- M2 y, b
// 'username2' => 'password2',
) d8 O! j$ F) Y7 q# ` // You can have one or more 'login'=>'password' lines" _" U# s% ?7 H+ O9 W' S" y
);4 a g0 ~5 d& }' G* L5 j
/** Debug mode to output some internal information0 Z. n4 S/ d V; ]- U( a
** Default is false for live site. Enable when coding or before submitting a new issue */' M( ~" g5 ~% d/ H' M; K* v
define( 'YOURLS_DEBUG', false );
+ \- m5 i/ c7 N& C# S# Z$ s# 网址中允许大些字母填62,否则填36
u1 K F. Q" X; bdefine( 'YOURLS_URL_CONVERT', 62 );/ _; h! y' A# D) C# s4 J
/*
' f( R8 }2 y1 j0 j! W: f* } * 36: generates all lowercase keywords (ie: 13jkm) I k- C" Q+ |, s6 N4 x. M- Y
* 62: generates mixed case keywords (ie: 13jKm or 13JKm)+ x; i& i) w* k( \+ K1 [
* Stick to one setting. It's best not to change after you've started creating links.
~6 L3 S% @2 t: u [! J */
7 z4 u9 V& t0 ]4 z s" G; k5 F# 保留的关键字,可自己添加
2 f& L4 j: x1 k% ?7 A f$yourls_reserved_URL = array(3 y7 k. r# U# Z
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',* n# I% P5 P0 {& I3 z; k
);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
3 j, i) y, p0 r! g4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
& T J2 {+ h& q. J3 H' cserver {
' K `3 ]( x z4 O) V+ ~8 _ listen 80;
7 | f0 s6 l* w3 x! r) R server_name 你的域名;2 [8 T3 E; |6 B# S, W7 M
charset utf-8;( D+ Y7 N4 y% ~& P* B5 b" X
root "/var/www/YOURLS";8 x) Z3 d) H, ]4 `, |. F7 e$ o
location / {% R- c$ P: _8 r
index index.php index.html;$ [( w/ G- ^( W: i. ]& L* h
try_files $uri $uri/ /yourls-loader.php$is_args$args;+ M: _5 y P* i# {3 y7 [) ~5 v1 Y( C. b
}; x( _( S* l$ n t7 Y8 }
location ~ ^/\.user\.ini {
- h8 S! U- ?2 r4 {! v deny all;9 ]1 w% w7 V( W" j
}
" m4 Y' ~# ^# B location ~ \.php$ {
! p# ]- D! e- O: @ try_files $uri =404;
: m$ j1 e. x. E fastcgi_index index.php;- M# L% y; o- V9 }$ Q
# CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;* H+ g. f/ v( [3 {. p. f
fastcgi_pass unix:/run/php/php7.4-fpm.sock;7 F9 d" v! j# u+ I3 G5 F. a3 B
include fastcgi_params;
/ G0 r, R/ w' |2 ~ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;% e+ {* m/ S0 g9 f
}. p+ }* q5 U, J8 p* X
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 g( m J" ~ expires max;' P V- \( o1 w. q3 Y
access_log off;& u$ U; E' x# r. b- E3 w* F( V4 ?& r
try_files $uri =404;' q3 k4 k; A. }
}0 F2 [7 n" w; N6 e
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书9 X4 @/ p: G' U' M7 P- ^
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
( C9 J$ b6 k5 D* \" r9 M" E浏览器打开你的域名,配置正确的话应该能看到类似如下截图:0 \. t( _& B" C
' A+ K! a# @! S0 ]+ R* K0 {6 j, t- S* h6 u" B2 y
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。1 k/ o& O6 s) w. K0 I, l* ] ^1 z" m# ]
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
( u3 b$ u! h# h4 z: Q% {首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
5 a& R: L7 O8 T% b% a! e) B: e. l' f/ S: A1 O
" U3 b# P/ G& iYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
5 J/ y4 m4 n0 o4 L推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
+ z0 ~! r, L' qYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
$ ]* D7 b3 N! c, y) g# {最终网站前端效果图:! U3 O, u( e- r
( X; G) t) z+ V! y+ H4 R
$ v# i9 c& S. w2 }( B5 @! k短网址前端效果图后端效果图:
' _ K* s% w( n8 f2 _/ C6 @& l
4 u0 \7 [1 ~9 P2 @$ r2 Z) U9 P. D: k+ _, A+ y% ~- s) i7 T
短网址后端效果图相对原版颜值高了不少。5 o" P2 U( C0 O t
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|