|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。8 i, m) u: {/ n; @" M' F
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
3 v1 u, A! b: m本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
& }3 G6 I4 m0 S6 ^/ i& S! s 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
3 j( S" w1 M' E0 D# ]- k: e
- q( W$ D& ~, l! B) _* H0 I) X# P3 @% d# G7 A0 x. \6 _
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:6 U7 l( ^& K6 U$ W: i
# Debian/Ubuntu系统安装PHP 7.43 ?; f: j9 x! _; V& a
apt install -y lsb-release gnupg22 P$ ^* D! R: I- R1 }
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
/ j: w# e- o& N3 _, P* G. xecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
; g! [6 U: d# [3 V5 I) r* t1 Yapt update
4 r. S0 O! p& H, K; uapt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
1 R/ t% Y- X+ y) E: i php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick2 B; x o9 Z! N. Y
update-alternatives --set php /usr/bin/php7.4. u$ L" x% s( T% ~3 `& V
# 启动PHP-FPM
& n; q/ }% ~4 ^2 n: ?! j; N# Vsystemctl start php7.4-fpm/ r# Q9 T+ T2 o
接着安装Mysql(MariaDB):+ b7 u- e3 @5 ^" S" T) z4 l
# Debian/Ubuntu安装Mariadb
0 H) b1 ^8 J' W* v6 Vapt install -y mariadb-server
) w) U7 H# W8 j' y4 m% z" W9 r#CentOS安装Mariadb
/ m# E' W8 v# U8 K' Hyum install -y mariadb-server& q# A# u& n5 H, D
systemctl enable mariadb m# n# C) b& a1 d4 z+ Q" S$ j
#启动Mariadb6 l- S) H W$ O% o& z/ x8 R" h/ G
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:2 g* ^8 ^( l/ t, Q
#CentOS系统安装Nginx
, ^. n5 `7 A& r5 `5 O; tyum install -y nginx+ z& }& A" X7 m, M
systemctl enable nginx
. d6 R( M( b8 K5 s2 n* O5 O3 Y0 A#Debian/Ubuntu安装Nginx8 o; l R/ ]- }5 [8 j
apt install -y nginx0 X' o5 g5 u9 Y, ]9 d
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。# ~+ H& d( a4 D- T
部署YOURLS返回目录部署YOURLS的步骤如下:5 o1 e9 w u6 v6 j5 t8 y
1. 创建YOURLS的数据库用户名和数据库:. \* |3 D" S3 L. P
# 进入数据库
+ D7 y0 C% V5 T1 ]2 U$ T4 Amysql/ ?' Q/ \) @+ N4 t
# 创建用户名,用户名和密码改成你自己的
+ Q! R# {. u' L( G$ M% vCREATE USER 用户名@'%' IDENTIFIED BY '密码';# U: I* N r8 T
# 创建数据库,数据库名字改成你自己的* u: p( U( W+ R9 f- I/ t. u
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
2 h4 E; ^' Q% @( J7 P' s# 赋予权限6 [) q& F9 V1 \/ A% S l* Y }: f. b
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
9 `0 \( a" \5 Y* C" j+ U6 v# 刷新权限
1 f B; t. w P7 L9 K6 ?FLUSH PRIVILEGES;2. 下载和安装YOURLS:
: f9 A" g+ o& H& J( y* n5 `mkdir -p /var/www5 E4 O4 r% b5 `" B) W& j+ I
cd /var/www/
0 I7 `6 s5 E4 W y3 I& l; \: ]+ X0 cwget https://github.com/YOURLS/YOURLS/archive/master.zip1 U, N* v* B: y' ]# f/ h! `
unzip master.zip* z; t" G: ]' E2 `) K/ y8 c- [
mv YOURLS-master YOURLS
* g8 K; W9 d# X& j% Y5 Y# 修改网站目录权限# F4 F0 W# h- w
# Ubuntu/Debian系统
! ?8 l- |: M, P, T, x8 F7 q" Ichown -R www-data:www-data YOURLS- `7 p" z! D) S. n- Q
# CentOS
9 E% N1 v5 {7 V# ^, e) h+ [chown -R apache:apache YOURLS1 f+ f5 L9 A1 o) M$ M
cd YOURLS
?% l' ~, d" j( Pcp user/config-sample.php user/config.php
0 p: d+ i" Y; g, |$ rcp sample-public-front-page.txt index.php! [; Q9 \ `/ {9 F0 [
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
- b, {9 _) |1 O1 ~3 sdefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );7 L5 T( U, T! R# b
define( 'YOURLS_DB_PASS', '填写数据库密码' );& w# \- ` v8 t2 L3 C# Z3 h
define( 'YOURLS_DB_NAME', '填写数据库名字' );
- e: G q8 @% g# 这两行基本不用改
; C3 B& i. r8 ^; Y+ idefine( 'YOURLS_DB_HOST', 'localhost' );1 _2 S" X1 m# N( E7 Z; N. I
define( 'YOURLS_DB_PREFIX', 'yourls_' );
6 _8 r$ a* c& _, x I# 填写你的域名,不要加www形式
! A1 R3 `: y7 y9 y' w) }define( 'YOURLS_SITE', 'http://你的域名' );
4 E0 c' f+ E- j/ ^# 填写时区,国内是84 C( L6 ^2 [3 }/ s: a( ], [
define( 'YOURLS_HOURS_OFFSET', 8 );9 @0 H3 V0 F1 [& r% r; A
# 设置为中文
; x( b. e; F/ r0 r+ J k+ f: c- Ndefine( 'YOURLS_LANG', 'zh_CN' );6 S" v4 m; \9 u, k
/** Allow multiple short URLs for a same long URL E% @; r, k8 G! [& I K' }+ e7 h
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)7 i. s& U& i: S8 t. ` R8 q' s3 _; d
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
2 S. e( s( u% W# Edefine( 'YOURLS_UNIQUE_URLS', false );
( \$ p5 B6 K3 t* b: E2 J1 _# 设置私有权限/ S8 x+ n. c! B1 k' G( j3 s
define( 'YOURLS_PRIVATE', true );/ c8 B9 m5 R; ]4 a% f
: d0 f7 O4 g7 u+ j) N# E3 `
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );# U1 l3 O6 M/ }* e5 j
# 后台登录用户名和密码,一行设置一个,请务必修改
5 t" U3 ]: c1 s J$yourls_user_passwords = array(0 {* I# ^- o8 }, J$ g$ E* x& W
'用户名1' => '密码1',
* }8 S0 I& D# }' q- U" U# i // 'username2' => 'password2',
5 @, ~* S4 v' @% d! |% A // You can have one or more 'login'=>'password' lines7 I) j, s# L, ]2 n0 B
);1 T+ ]1 S; T* S+ p
/** Debug mode to output some internal information" C. D, x& r( E H+ L
** Default is false for live site. Enable when coding or before submitting a new issue */2 @! \4 w8 u/ k3 R" Z- X H( ~
define( 'YOURLS_DEBUG', false );
+ ^+ I% J& l: O9 T3 t: e/ s9 t, o: Q: z# E# 网址中允许大些字母填62,否则填36, _& H9 n' M6 g, P( A# G9 _% \
define( 'YOURLS_URL_CONVERT', 62 );2 n( u" M. K6 j1 q, \/ s' O1 Z
/*
0 b7 g3 e# a* t. ] * 36: generates all lowercase keywords (ie: 13jkm)# P8 q/ \- `) \
* 62: generates mixed case keywords (ie: 13jKm or 13JKm)
$ D9 t" l0 d z$ I$ V * Stick to one setting. It's best not to change after you've started creating links.
( E9 l1 D8 o& ~2 r9 } */0 d8 Z% I7 v/ [2 h+ c; m- `
# 保留的关键字,可自己添加- t" m) n, j5 {- ^) G8 A) e& Y; J
$yourls_reserved_URL = array(
& |! ~6 H, \( d) W 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',9 r/ _. A: Y+ S( x8 S$ W1 w. d
);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
% k. n! l* b' z- ?4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
' k$ Z) G1 }/ R+ D, q4 L Rserver {$ a! t7 ~6 V, f# v G# \2 S
listen 80;. J: s4 S1 s% O5 b& e% W
server_name 你的域名;
" C! a6 x2 b5 k# d charset utf-8;
, T4 R( N5 r" z( |/ g5 w6 H root "/var/www/YOURLS";7 C1 R; b' o* p2 w/ C, W, L1 _
location / {# v b0 h/ r4 Q
index index.php index.html;
2 q9 w5 ], } A* W$ ^4 m try_files $uri $uri/ /yourls-loader.php$is_args$args; d) e6 d1 P% Z0 q3 B6 x$ t$ d
}5 S6 f& h: g( U6 K7 f7 K
location ~ ^/\.user\.ini {7 H- d" L& k4 t# @% F8 n6 Q8 s
deny all;& ]6 o0 j5 t9 s; i- {
}/ N- B3 Y V2 n. d, N7 v
location ~ \.php$ {$ F' W4 A/ r1 R
try_files $uri =404;
7 j6 R Z2 d3 F fastcgi_index index.php;
, @& }8 L% V% L( _, _ # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;: ^2 @; Z; F! F! S1 W
fastcgi_pass unix:/run/php/php7.4-fpm.sock;: g/ |" s9 H$ | d3 m
include fastcgi_params;' ]9 m6 I) Q( g# q& u. }% ?
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;" z! i7 z2 ^4 q: a" E, M5 |
}
3 |, L# b1 B# G. e1 W4 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)$ {
+ k; J) T4 `1 Q5 [, S expires max;- i% U2 ^/ G" `4 s
access_log off;" V/ c9 M \3 f- i
try_files $uri =404;
, K; ]# r- v9 ]3 ^' q% K+ c* O }
4 L2 K, H' w) v D' ~- }! i}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
- \" D* l1 k/ ]7 k0 v, b3 ]5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
" M. N8 h4 f6 `' ~2 o浏览器打开你的域名,配置正确的话应该能看到类似如下截图:! S& j0 M7 F! r, V7 j9 Z
* d! }* P' D3 A
1 T7 d3 j$ m- J; [; e6 t! s b9 M" MYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。7 \) @% g$ ?8 a
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
6 i1 y V4 w- h7 P6 ?8 C首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:) W$ N& d" {+ i' W1 p5 S
, l* z0 j3 w8 M0 R, K+ ~
+ m1 c& y1 ^9 F! {YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。- |0 }8 i7 D8 G: t" k1 X
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
1 _% x. i1 e/ q! C6 \YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。, S: B& H0 P: X$ R. n" I
最终网站前端效果图:
. ~. u- F D: d ~
# s1 q$ O; H6 l" D9 [2 {2 @6 {& l, T; n
短网址前端效果图后端效果图:0 d5 f& x( ?5 O$ i
% J( p1 N8 |7 A. S! J4 l
4 f- S) U& e, b) r* f短网址后端效果图相对原版颜值高了不少。0 J0 Q4 b }+ O: l `
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|