|
|
发表于 2022-9-11 21:04:53
|
查看: 1037 |
回复: 0
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。) j2 w( O" I: F. [0 D
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。4 d* A( z! l7 `
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。+ Y4 t7 T' {5 t! e+ }+ [$ a7 U
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
' i. ?' L5 Q5 k2 I3 O3 l
! s3 z0 N" b: f
- y% h3 t( w' x域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
0 l9 x( ~! @4 [. N# Debian/Ubuntu系统安装PHP 7.4% c& \6 {. p- R# `5 i
apt install -y lsb-release gnupg2
$ f4 p: v y8 ^1 L l' ~' T% `wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -6 I9 }* `$ y# I1 k
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
( [# X% O. j2 V9 Capt update M; a2 E/ y( k( Q3 A
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
) c+ Q" w6 v! m: Q1 T3 q8 S php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick" n" b5 {: b1 X% m; B2 s, h
update-alternatives --set php /usr/bin/php7.4) p' ^# }- s. N
# 启动PHP-FPM
9 F6 O6 c5 _% M0 qsystemctl start php7.4-fpm- n& w8 K8 L/ g! ^3 J
接着安装Mysql(MariaDB):5 R {& A% ?; n8 Y/ s$ A) e5 C
# Debian/Ubuntu安装Mariadb- w' Y/ g& s0 O- U% l7 K5 x6 G
apt install -y mariadb-server1 Y( Z- F; I' [( W q
#CentOS安装Mariadb4 S D2 y# I3 l3 e+ I. c/ G' j
yum install -y mariadb-server4 O$ p' G: o; b- X8 m
systemctl enable mariadb
9 D/ }5 n* K% K$ }, A#启动Mariadb
3 x W4 ?. [6 |2 q7 p" Hsystemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
s& [% t. c ?1 D. d$ b9 Z0 ^#CentOS系统安装Nginx
, N- M( J, D9 oyum install -y nginx* p( ?% _- z! e" L/ a
systemctl enable nginx k, h: K- D/ Z+ Z
#Debian/Ubuntu安装Nginx
# u1 ?& e8 B- _) g- rapt install -y nginx3 Y1 B" ]1 P+ v F2 j' l
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。# D8 w2 R9 _# e6 d1 o% n
部署YOURLS返回目录部署YOURLS的步骤如下:3 m, G8 |) V/ p( ]3 y" F
1. 创建YOURLS的数据库用户名和数据库:
+ n* U$ ?& n7 y8 R! i! ]# 进入数据库: V0 J! e6 p c" S: s" F1 z
mysql0 a g& m7 X1 y3 {7 W
# 创建用户名,用户名和密码改成你自己的
* f" u0 M4 G* fCREATE USER 用户名@'%' IDENTIFIED BY '密码';5 H5 X9 X3 M6 M# h
# 创建数据库,数据库名字改成你自己的
3 `3 ?# O3 r i3 SCREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
4 m1 }1 e3 a, b4 ~$ l2 ?3 j# ^$ I8 T# 赋予权限
6 x% c9 i# A+ m% J; @GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
2 q% K$ w- N" s. K8 p4 h. B2 e. T# 刷新权限
, a5 _& ]; j) w' v& NFLUSH PRIVILEGES;2. 下载和安装YOURLS:9 q% c) E T( i$ ^5 S7 g ~ z% ^- }
mkdir -p /var/www
4 Z3 Z# b7 m! T# ^cd /var/www/
, {) a/ m( I3 rwget https://github.com/YOURLS/YOURLS/archive/master.zip8 K, A3 b! k, ~
unzip master.zip+ P" E# e# q0 C
mv YOURLS-master YOURLS% t3 r% T7 {3 |- ~2 \
# 修改网站目录权限
$ ?; y* B7 N' S# Ubuntu/Debian系统3 U9 {) D. l4 [8 f3 o- ~5 @2 J
chown -R www-data:www-data YOURLS
3 |8 k$ I7 f& i/ K4 O" q- @% [5 M# CentOS5 s* f1 c! U1 [8 R x! ?0 |
chown -R apache:apache YOURLS. ?" l: U" C/ Y
cd YOURLS
7 x1 l$ j) I; W) A+ r1 K. {) Fcp user/config-sample.php user/config.php/ O* P$ `( ?3 W) H8 N' `7 T N# i
cp sample-public-front-page.txt index.php7 x$ x$ q r$ f# a
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:0 G2 l7 `' Y: \" m% e, l) J" A
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );0 T5 ~+ Z4 ]/ Y6 E$ w* ?4 a( L' m3 a
define( 'YOURLS_DB_PASS', '填写数据库密码' );
& o0 \% ~+ S. c# w% fdefine( 'YOURLS_DB_NAME', '填写数据库名字' );
: K1 V& \1 t) h2 c3 ~4 {5 P# 这两行基本不用改
( v( X3 u) u4 y- ]- Idefine( 'YOURLS_DB_HOST', 'localhost' );
1 G+ e+ P ~& w- ]) [define( 'YOURLS_DB_PREFIX', 'yourls_' );
, e: Q0 s# w8 A, \7 O# 填写你的域名,不要加www形式: |) G+ K, w# Z' q9 x6 |/ Q( D
define( 'YOURLS_SITE', 'http://你的域名' );
) P2 a. y+ r2 V- Q5 }0 H6 F# 填写时区,国内是85 O9 a3 F5 D! {! n) d4 \
define( 'YOURLS_HOURS_OFFSET', 8 );+ l t, r$ o' O( W- u3 ]9 L7 n/ K
# 设置为中文9 C( ~, ~$ `' ^8 x. }$ u
define( 'YOURLS_LANG', 'zh_CN' );, D2 W/ |( C7 ]$ T
/** Allow multiple short URLs for a same long URL
4 ?" R6 m- {% S2 M; S. Z ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
( G" u1 m3 v( _) \ ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
+ f6 v% I% q. P, qdefine( 'YOURLS_UNIQUE_URLS', false );
) o; E8 M0 ^0 t3 S$ y; F. g# 设置私有权限1 J& |& z) o' m: e; `* K. H8 l& X
define( 'YOURLS_PRIVATE', true );4 v% l% B5 h& H! F
+ m2 n4 S% f* R. X+ zdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
0 Z: A9 w3 ], |# 后台登录用户名和密码,一行设置一个,请务必修改
2 `" T5 [( K9 W$yourls_user_passwords = array(
0 m3 q8 J- w) Z2 Y1 Q '用户名1' => '密码1',9 N. }* r Y! _5 R+ b# O6 J. O
// 'username2' => 'password2',
4 R2 l& W: F6 y% q+ j& i w6 V# M- l // You can have one or more 'login'=>'password' lines, O* R* w2 A: Q8 S* Z
);
8 Z: n* `! U% h" M( L7 ]/** Debug mode to output some internal information* D# ~' j6 V+ v( z/ H
** Default is false for live site. Enable when coding or before submitting a new issue */9 I+ o0 N/ x8 S Y+ ^1 l/ I
define( 'YOURLS_DEBUG', false );* x' ~1 \& c+ n; [2 J, k
# 网址中允许大些字母填62,否则填360 {4 |6 \5 x& Q7 o$ \
define( 'YOURLS_URL_CONVERT', 62 );
/ ?% Q/ J( R" a- ~' V/*! `! r3 e. F$ q1 d+ }
* 36: generates all lowercase keywords (ie: 13jkm); r, N, M" F. j* X
* 62: generates mixed case keywords (ie: 13jKm or 13JKm)! u- c/ c2 S( S7 t2 Q5 }
* Stick to one setting. It's best not to change after you've started creating links.9 [3 {2 r: a8 Y& g( ^/ t+ J
*/
' w3 ?& {3 d2 Z% Q$ _3 V# 保留的关键字,可自己添加
% X x% `2 G0 C" r$yourls_reserved_URL = array(( Y. \4 o* `/ c( \1 D! X
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
9 S# J, z v9 q' U" N);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
" m5 |3 D4 C; l v8 F' @0 E4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
: F4 u! @+ ?1 Z2 ~- T& U3 Qserver {+ z6 N, Q& J" Y- V; ` _! x6 u
listen 80;
; X2 Y7 t8 c- c6 b: x: E1 G% e server_name 你的域名;
q* V/ f2 k$ C' D$ l charset utf-8;. H" w6 O1 E% [
root "/var/www/YOURLS";, H; g k9 k8 N$ Z; g; R6 {) I# c
location / {
2 Z9 q c& q8 Y& x0 l* M+ M; \! i index index.php index.html;. h; B% s# o4 c# s8 a
try_files $uri $uri/ /yourls-loader.php$is_args$args;
' T/ c) a$ d1 u& e }
& p$ D* _8 B3 }) { location ~ ^/\.user\.ini {4 s0 A, N3 a" ~& m/ Q: C
deny all;' `: ^) q+ W$ f$ J
}
% L$ d* `! u2 w; e" R' n/ Y) x location ~ \.php$ {
* P ^4 j. |2 T1 g try_files $uri =404;2 t c) _$ M6 t5 y
fastcgi_index index.php;
# J1 h% S; e5 j/ W # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
2 ?- f7 I0 ?1 C( } fastcgi_pass unix:/run/php/php7.4-fpm.sock;
2 D4 n; B3 X; |: X; { include fastcgi_params;. a7 K# L# }& F
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' h4 m, z0 {& |' E
}: Z7 @( p; {+ {5 _, z; S" W
location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
9 H4 p* N7 a' }! J* [- _0 }9 ]5 U4 x expires max;
9 R. j4 y$ T& z g* Y8 R/ i access_log off;6 P. S* g( ~" j! n8 g# ~# D% a
try_files $uri =404;
7 R3 E6 @" m R3 I }
* |- E9 @: ^' N}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书0 l+ _6 R7 ], Z2 V9 z
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
% ?, b4 P' M; B, d浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
2 C& m* K; y L
( I- v2 Q, h+ r$ l4 d5 W1 D0 ]/ x) X# b: O& D1 i3 i
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。% z( u( u& q, q& A0 u4 r. F
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
. t, ]; j3 ]+ K/ i, J0 w1 l; B- K7 }首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:2 w) O! Y/ o, p: H* q1 q% d+ s
+ M% [9 }& n6 I' m) K
+ H- x( K% j) f) hYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
0 m% |9 I7 b) Z2 L3 c$ V推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。. m7 c. n" i+ b2 }0 K( ]
YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
) M1 E* M, _+ i& d8 O最终网站前端效果图:# q! K8 m/ \ Z% [
# G7 M: w( E! l0 F: a( G- \% C/ R2 Z+ l: A/ S" U
短网址前端效果图后端效果图:& k& X2 z3 G1 h6 @! G7 h: R: i
( @* V3 M1 i/ r$ ]9 _( \# B
y) o" e `( L% {' w短网址后端效果图相对原版颜值高了不少。
( G, ^6 U: k5 p6 l 参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
|