|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
7 ^# Y/ T" }* y4 @- ^经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。$ A; j; l9 e* |# P b! t
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。: `3 u% u1 U9 G; s
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。3 y/ E9 z! e: m3 d `
( }& g$ S1 G& f0 g6 Y
+ e" F6 O4 k6 `5 Y. C2 \! M域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
6 f$ p/ ^* i3 }. L! ?# Debian/Ubuntu系统安装PHP 7.4
y5 R/ B* q' v5 Mapt install -y lsb-release gnupg2 Y2 z7 `9 x2 v& i
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
& Z( C6 Q% L) `1 R, y+ Kecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list6 M$ ^" W( q% u6 Y4 F8 m+ y* } G
apt update( J0 r# ~; c# y4 G* J1 O
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \* {5 h* U& P: h7 Z( p
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
2 d4 u9 f0 O, M W7 H* Iupdate-alternatives --set php /usr/bin/php7.4: f: p! z1 g. d. C1 q4 J/ p( R
# 启动PHP-FPM% W3 l+ w8 X+ {
systemctl start php7.4-fpm! j, Z3 s+ D3 G3 J$ c
接着安装Mysql(MariaDB):
9 O8 K7 e6 l+ Q# n- b# Debian/Ubuntu安装Mariadb% u5 c3 y; B( f% g4 l
apt install -y mariadb-server
h! Q4 W1 M1 t8 j- q7 ]3 k#CentOS安装Mariadb
- y& \8 ^1 Z0 J# ^. Cyum install -y mariadb-server
' j" Z1 A) l. V/ psystemctl enable mariadb
5 y. x3 e& Q6 n#启动Mariadb$ X9 _' Q7 Z7 Z% D7 I' C% x$ W: \
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:4 Z! E6 A. f+ L2 {! H* [
#CentOS系统安装Nginx
1 L- [$ s1 o7 D: |. ryum install -y nginx" H' t7 Z& g& u3 O2 D: O2 t+ i
systemctl enable nginx
- m5 E' A) T' e/ F' ~4 @/ o#Debian/Ubuntu安装Nginx
9 ?! V+ \& t" w/ M: rapt install -y nginx
' G" N7 K& b2 j" G2 w安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。+ A' v* W( w! d0 w
部署YOURLS返回目录部署YOURLS的步骤如下:
5 n6 M/ O; z7 m7 t/ q. g1. 创建YOURLS的数据库用户名和数据库:8 @7 ~' i% f9 e# K
# 进入数据库! r1 D. x1 h& \8 s
mysql
5 K; b' G9 h: b6 f/ q) k# 创建用户名,用户名和密码改成你自己的
' G- V* d% N2 v, ~# r3 uCREATE USER 用户名@'%' IDENTIFIED BY '密码';
- P6 }. s" j' p4 {# 创建数据库,数据库名字改成你自己的' q( n# Q. H3 `6 A8 W. }1 O% \& U$ A
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
0 [6 }$ r2 F- H+ U8 f# 赋予权限1 C! C1 N- F0 B3 v5 J
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';6 W4 v0 ?! M4 }/ K# O9 W) K
# 刷新权限
# C. g: b- Y. U) S; i9 V4 y1 n( B! `FLUSH PRIVILEGES;2. 下载和安装YOURLS:6 D, t$ ~7 U# K* Y
mkdir -p /var/www
% S% R) |3 `: t6 J9 K: Kcd /var/www/1 X3 B4 D' ?+ ]* Z! {+ T7 d# z
wget https://github.com/YOURLS/YOURLS/archive/master.zip% d3 o! b. V% @# Y; t
unzip master.zip/ }3 e7 c9 \* U0 t- u; w! p
mv YOURLS-master YOURLS
; X0 s7 W' s% y) ^: A# 修改网站目录权限$ N6 d; {1 X. D& S
# Ubuntu/Debian系统
) D2 P ~7 X* Z1 M4 L$ T1 j3 F7 `chown -R www-data:www-data YOURLS
, X) P& [( Y5 `# CentOS# E* w v1 _9 E' L& J: h; ]% f
chown -R apache:apache YOURLS% e. k0 y- K: B; R0 T' C
cd YOURLS
/ m2 X: i, U+ |cp user/config-sample.php user/config.php- o# V& P" I) _0 o) Z8 c5 v
cp sample-public-front-page.txt index.php
9 `% e( @# h" |* ~cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:" @# U% z( x) [/ d4 e
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );* r. I# C$ R; e9 s1 e, A8 ^# N5 i
define( 'YOURLS_DB_PASS', '填写数据库密码' );
! _7 m6 v, N# L. M1 G4 V% G/ xdefine( 'YOURLS_DB_NAME', '填写数据库名字' );& w2 I) J8 h. ~& x. }/ G5 G3 a
# 这两行基本不用改: O5 P. r) Q4 s
define( 'YOURLS_DB_HOST', 'localhost' );$ i$ i5 Y% b6 Y
define( 'YOURLS_DB_PREFIX', 'yourls_' );
# m) f1 ]5 l N0 ]1 K# 填写你的域名,不要加www形式8 d# Y& m, p# Q, Z6 T" O
define( 'YOURLS_SITE', 'http://你的域名' );0 Z {- n+ d l* v
# 填写时区,国内是83 J: r1 }0 T3 S, I7 q& T: T
define( 'YOURLS_HOURS_OFFSET', 8 );. w/ `/ U- H" g. g0 Y0 G" N
# 设置为中文
7 i2 m6 N& W) L+ a) gdefine( 'YOURLS_LANG', 'zh_CN' );
/ [: m" t$ @& z. t- k( D- F; W$ e, Q/** Allow multiple short URLs for a same long URL7 c7 I' p+ I- `2 I- [1 m e
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
/ W9 X5 l/ }2 |7 s ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
2 O4 n8 ^* i( R- T: O: U+ ~5 rdefine( 'YOURLS_UNIQUE_URLS', false );4 L8 _9 S8 a8 h/ M8 a
# 设置私有权限
/ n% \* c& v& G5 u# p$ Gdefine( 'YOURLS_PRIVATE', true );+ U: B6 F- Z% a6 } v
6 @7 {0 Z2 w" l; s6 N9 adefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
1 s+ p1 W! j% A9 M# 后台登录用户名和密码,一行设置一个,请务必修改7 r: {$ l# Q9 L& u+ o
$yourls_user_passwords = array(
a3 j5 T) B. G! @ '用户名1' => '密码1',
. S6 \ U7 E, | // 'username2' => 'password2',
# s" e; |( v' N$ G' d6 ^7 \ // You can have one or more 'login'=>'password' lines1 J8 C1 F( m* f; k
);
2 ^- @( H3 H9 Y# O- _. O5 r/** Debug mode to output some internal information& Q( \ y' J2 x# S, ~ o3 d
** Default is false for live site. Enable when coding or before submitting a new issue */( o" s' Y/ D: n2 O$ Z# i8 C6 x# q" C
define( 'YOURLS_DEBUG', false );+ x+ K8 u- d: Q7 D7 f* y3 D
# 网址中允许大些字母填62,否则填369 X' i: D) v( H% R
define( 'YOURLS_URL_CONVERT', 62 );
h: ?$ o# X% A9 A1 w$ R5 y* {/*" F, i6 L3 o- N' f) A( l. d
* 36: generates all lowercase keywords (ie: 13jkm)
2 u2 k M( X2 r6 F * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
# l3 O g6 @6 p4 i# P7 ?# G U; e * Stick to one setting. It's best not to change after you've started creating links.
5 `# a/ W/ Q2 | */8 [, @3 @* Z5 y; o6 G4 L8 w
# 保留的关键字,可自己添加
' Y+ ^! e. x% y' B m$yourls_reserved_URL = array(
' D2 [& ?% I1 Z6 v1 w+ X3 ^ 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
* j, {& p: H) d# n$ a);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
* y+ T) e# f8 P4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容/ @* K& O" j& |% h/ x
server {7 }& k: j1 ^7 f# z" g
listen 80;
" H, j9 e* J6 J8 h" N server_name 你的域名;
) o2 |( F& U6 [+ r& ? charset utf-8;
! p6 B3 n: v% p* G: }$ ^3 t$ u root "/var/www/YOURLS";
* C0 m; g( Z2 j3 b9 j! u7 M+ y location / {8 ^' j/ a5 c2 t' r8 _% _5 U( k
index index.php index.html;+ o$ l d9 q" \
try_files $uri $uri/ /yourls-loader.php$is_args$args;, J# a) |' H- Q0 k$ V
}& q' U* m; }) K5 E+ |
location ~ ^/\.user\.ini {$ c% V `: m% j+ F3 H6 O6 }
deny all;' \9 M6 U; J9 t: h% Z- Q5 m
}
: O6 h& @% }# B# j location ~ \.php$ {# W8 |) e+ d' M6 s; V: d7 V" K
try_files $uri =404;
( s6 M9 R& [7 u X" B: F/ |3 o! z fastcgi_index index.php;
. |4 m' c% |! w, U! w% B% f! r # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;: x: _+ X; q, h% X# V# I) u8 c0 ^# h
fastcgi_pass unix:/run/php/php7.4-fpm.sock;$ Z9 N/ n! }( X
include fastcgi_params;
( E9 M6 U! |" [; K# H- J' H fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;0 t+ B0 O) d' N+ B- r* m0 ^$ q6 r1 ?
}' T, n3 s- `+ U+ e
location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {& B R+ q' ~! M& q1 D
expires max;
$ J6 Q$ R8 W6 {7 ^8 ^# F access_log off;7 f! t+ M! M% O1 K7 k
try_files $uri =404;
' _5 L7 p" p( U1 E- C* {5 d2 G }
6 o/ a. y. m% s" ~}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书: I8 O0 [: r& G7 p& a6 D+ f
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。) q8 Z7 }0 _: Q- ~0 Q+ S8 d
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:; n- _. @5 `9 B6 G. f
6 _% Z; _& M. W: W( j
# p# }1 o2 V# T" sYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。) ^9 x k* | `. k* n
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
8 `* y5 g0 r6 v- s& j首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:9 R8 {/ A L% D% V r
$ _' _2 X% z" ]
. \" x) T, e: [# U$ @$ G8 `/ {
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
0 j0 ]2 o& J8 u9 ^推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
% C* ?* p7 \: d) \+ @6 cYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。 k0 K j: i$ r: t
最终网站前端效果图:% z7 n; u( m7 A g1 r _" [
! t; d( l3 m- L8 B% g+ u0 t% O, O/ K* a+ v
短网址前端效果图后端效果图:! S/ N. N, m2 J. Z7 d
/ A( c! \& x% J9 x6 }
* K/ i2 ~! p4 B短网址后端效果图相对原版颜值高了不少。4 f' r4 E0 U; Z( M
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|