|
|
发表于 2022-9-11 21:04:53
|
查看: 1238 |
回复: 0
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
: \+ j- J1 t5 M5 w- f经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
" s% m' ]! ~3 {8 z2 y% Z: j( t本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
; m, w& C3 E7 }8 f 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
" c5 |( L {$ l4 e: o8 ~
& W# q3 i- k. I
$ v* R' b5 s1 H/ q6 F# R域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
3 z; ^3 p l4 n; g# Debian/Ubuntu系统安装PHP 7.4
* m+ _9 E$ u0 j. q9 G, Oapt install -y lsb-release gnupg2* T2 Q) s4 [5 k1 i8 ]
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
% I, v8 M- \, Y/ Kecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list+ @% G. @6 z+ F8 u: _
apt update& v* B! K4 L. ]/ c7 Z' X6 x
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
3 g- g0 f7 L v php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
3 N- e# U. s1 G2 ^/ {' h& X5 Oupdate-alternatives --set php /usr/bin/php7.4# k2 M7 Q- ]5 i- f$ d
# 启动PHP-FPM5 ~2 K8 j% g& ?! U+ a4 n: J$ P
systemctl start php7.4-fpm" J5 Z. g7 T& Y6 P' ]
接着安装Mysql(MariaDB): [1 X2 l" ?4 |
# Debian/Ubuntu安装Mariadb" `: n; ?( [6 Q9 p! K
apt install -y mariadb-server
: Q, k# T/ j4 d#CentOS安装Mariadb
* F# v( Z+ m5 w" n( z4 V4 S: ] kyum install -y mariadb-server
( T/ o7 D; u$ [: x- A9 a9 Msystemctl enable mariadb
- G1 d* ]0 `+ g8 i# b#启动Mariadb5 ~. K# _8 x' `' q" |1 \
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
( `. s% X7 g- Z4 C L#CentOS系统安装Nginx. a6 @3 _4 s$ d, ?9 n# N; v
yum install -y nginx
! s% ]$ S9 [+ n9 t6 v8 osystemctl enable nginx
1 [# t: v/ b# ~3 _#Debian/Ubuntu安装Nginx
* {+ G! y3 @6 K0 X2 G" L }apt install -y nginx
4 Z: |% a4 T* b0 c( @3 I# m安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。2 P1 `1 A' J4 S" U+ t: t* c. V
部署YOURLS返回目录部署YOURLS的步骤如下:+ I$ x" S( N- j
1. 创建YOURLS的数据库用户名和数据库:- y6 B3 O; Q2 O
# 进入数据库+ T! U" x; d/ r7 f- o7 y
mysql
$ A0 O4 u2 V& B {7 P2 |; U# 创建用户名,用户名和密码改成你自己的3 P1 K2 f e% |
CREATE USER 用户名@'%' IDENTIFIED BY '密码';
0 ]8 b7 d7 ~1 W( G+ I1 G# 创建数据库,数据库名字改成你自己的) X( z1 E R+ Q; \! @6 S
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
% Y, a: ?, C5 u8 W( F# 赋予权限
6 f. N, z8 g0 ~5 N! k0 gGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
5 g: f/ W) `- m( X# 刷新权限- c, }' D% B/ ~" b* w
FLUSH PRIVILEGES;2. 下载和安装YOURLS:
) e" F: f6 P8 T" W+ amkdir -p /var/www
! }0 ?/ [4 B8 a; Ucd /var/www/) K7 H- ^8 }5 u. W# I2 C/ d; e
wget https://github.com/YOURLS/YOURLS/archive/master.zip3 J. V2 t2 V$ z w
unzip master.zip8 [8 A- d7 u9 Y2 c# |0 x& v
mv YOURLS-master YOURLS! \' I! n: ]. _1 k0 W% @
# 修改网站目录权限
1 G0 Z! \% a1 ^* x3 h# Ubuntu/Debian系统
0 g! Q8 Z( e$ c7 \chown -R www-data:www-data YOURLS
1 k& z6 ?1 r1 D0 d# CentOS
0 U8 O% J8 [+ X: V5 s7 Gchown -R apache:apache YOURLS
+ M" V& z) x I- [cd YOURLS0 B4 Z) u+ i$ G7 N
cp user/config-sample.php user/config.php
2 G/ k( I" z, s6 M# l0 A3 _cp sample-public-front-page.txt index.php% R2 W. z( [& \$ Q
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:# v8 Y) B1 j! y0 [" Q {) B* U
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
4 v! ?. j& u3 V9 }5 ^( Tdefine( 'YOURLS_DB_PASS', '填写数据库密码' );" d4 F/ W5 U) m# c
define( 'YOURLS_DB_NAME', '填写数据库名字' );+ c; A) }4 g7 Q1 v* k
# 这两行基本不用改
( E& F4 [* b4 idefine( 'YOURLS_DB_HOST', 'localhost' );
4 q$ U1 e; S, K( }% idefine( 'YOURLS_DB_PREFIX', 'yourls_' );
6 w7 @9 w2 e; v* H- y, Z# 填写你的域名,不要加www形式, M$ h; t8 i0 y' h$ T+ x1 K
define( 'YOURLS_SITE', 'http://你的域名' );
4 q2 S1 h4 j9 y% P; n: W7 \. s3 F4 ^# 填写时区,国内是8
0 |7 B3 F8 H" L7 w jdefine( 'YOURLS_HOURS_OFFSET', 8 );
9 `6 | D: D; K S- K" h# 设置为中文
* v1 i/ J F( B$ C) }define( 'YOURLS_LANG', 'zh_CN' );
$ G q+ g' T2 x. h' t7 I" [/** Allow multiple short URLs for a same long URL
/ P+ @! d/ w$ ?: _; ]5 \9 a9 s5 T0 q ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)) Y; @3 j4 s! C0 q! z X$ [
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */7 M( y6 i. R0 P0 \' U/ l
define( 'YOURLS_UNIQUE_URLS', false );: @$ j4 r% s1 y+ L- ^: k2 P5 ~
# 设置私有权限
) |) j- m' t9 u1 F/ p( _define( 'YOURLS_PRIVATE', true );
1 W7 t+ Y% `! h5 \* }
2 Z/ q3 v* b& q% s: |9 R M1 Idefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' ); ?) y# r3 g$ Q+ f9 X8 ~' u% @: J9 v
# 后台登录用户名和密码,一行设置一个,请务必修改! N- ~; W6 z: G& G) ~
$yourls_user_passwords = array(
" t/ t& v' q% A3 G '用户名1' => '密码1',- \% ^; A( U+ g! J0 z
// 'username2' => 'password2',7 J3 s4 G/ G( V) E! p/ L
// You can have one or more 'login'=>'password' lines3 d% R, h3 z: G+ c" r! X
);% t/ E2 T p, i
/** Debug mode to output some internal information
4 e R( L8 L+ } J H( | ** Default is false for live site. Enable when coding or before submitting a new issue */& |2 y- k& g. t5 N6 M. B
define( 'YOURLS_DEBUG', false );. Y8 E5 y+ M, v9 v) F/ m& ^. e
# 网址中允许大些字母填62,否则填36
% T% W$ q) n9 C% `. e cdefine( 'YOURLS_URL_CONVERT', 62 );
* w! y3 l* `8 o8 ^2 u/*
4 ~3 [1 B2 v7 @- H9 ~ * 36: generates all lowercase keywords (ie: 13jkm)
# R- B! ?& K- t/ O+ Q' c * 62: generates mixed case keywords (ie: 13jKm or 13JKm)8 @7 b' \" a+ ]% X: C( t
* Stick to one setting. It's best not to change after you've started creating links.# s- l: n* C3 W& c
*/
1 c" f: Q- g% P# 保留的关键字,可自己添加! r) C/ q% W+ `/ ?5 a# Y: ^3 o! d
$yourls_reserved_URL = array(
0 x Z! M# Z0 i 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
0 o, c, B8 d' {7 g0 U% \8 ]7 A4 f0 o);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。( w* w) ^ [. c6 h# {, Z
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
, n( [2 L% H8 w: cserver {8 H5 F% @; w: t( D! E; V
listen 80;6 b8 F; F) U: [
server_name 你的域名;
& p& H5 u6 p0 o: H D charset utf-8;
/ ~+ x; |4 `! G root "/var/www/YOURLS";
; j. m0 x; m* z2 V location / {$ O0 G$ a2 X+ \( H
index index.php index.html;) X* }& ]6 k" _. |9 K/ A
try_files $uri $uri/ /yourls-loader.php$is_args$args;2 }9 ]4 i; J; E5 t
}
. ]% p! a p, c/ ?1 G4 g location ~ ^/\.user\.ini {
, K3 q9 _) i+ q) x; z. Q$ f* F deny all;2 L. X4 J, {$ |3 c- U
}
/ s: [) y# F. ~- } location ~ \.php$ {
0 r, j' e6 }# }6 W# Z try_files $uri =404;2 B& z+ ?% V+ G) |# h( x
fastcgi_index index.php;
; q& l9 F+ B1 I9 l1 c # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
" I/ E1 T. \0 M5 a$ I fastcgi_pass unix:/run/php/php7.4-fpm.sock;
: D6 i- ~4 }6 f' g0 N* q) s# x include fastcgi_params;
9 M6 K3 p) S( m) u fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;; P$ \! {) I& L# ~9 l9 a) Z) O
}4 H3 |7 }( c+ E0 H2 U
location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {5 {& e1 L4 v' G* v1 W6 D2 x6 x
expires max;- M& l7 \1 }) g9 Y
access_log off;! T5 f' p0 j4 w9 F0 |. o
try_files $uri =404;( P* ?0 _9 |4 T; A$ A0 Q
}) B7 n: d! z) g* m5 o1 X% s6 @8 o
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书9 d% q0 \$ P. I+ p
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。: C/ Z q7 X6 [( O) C. S( Y
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
7 H A1 E& V* w; c# [/ a9 A" b* _2 m: Y, k+ v! @5 p- X Z+ U/ {
! Z; x; {7 P) M* s
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。3 T. t. C8 K+ l8 Z+ d2 N
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。1 ^+ p6 d/ D( g- N. I
首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
9 p% R' R4 W/ a9 f5 e, @
- P5 a- L% d0 E( d' L5 |% I& {5 b; w% @2 c' D( j' W/ E& u7 R; v
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
. i+ Q) M# j) h7 P! S推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。6 @" t% V1 \1 Q0 `: d$ t2 R
YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
' d! V3 Q& z- T6 l2 |* Z% x% c最终网站前端效果图:2 H# `9 p/ H% y/ x$ I9 V
7 W# S2 K& K; j, I4 F% G" m5 J6 Y" H; I }5 @( C: j
短网址前端效果图后端效果图:4 k& ?2 D4 Y# i
' u% E" w$ ~1 s/ _9 m8 g
* p& p2 l" F8 H
短网址后端效果图相对原版颜值高了不少。( N' [" B, x8 v
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
|