|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。! P9 N* Z) h: S8 v, G4 u
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
( F8 L5 e% n) @5 d2 ^4 a2 `本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。1 S, B w& l& R; h, w8 {) w
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。5 h$ |( v- P) y5 {! S6 N' d
. Y5 x1 \8 E8 O6 C( [ ~
X' X' m! z% S0 d! F2 u
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:3 H1 Q- w, y$ G( @+ s9 g% o+ P$ z
# Debian/Ubuntu系统安装PHP 7.4
# [- k% a" n3 I5 S |. c& [apt install -y lsb-release gnupg2. Y: n7 q* |! C' F5 K
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -6 U- a' V0 G- v
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
9 u! y& Z$ x' @& Aapt update
; @1 _% L9 h- ^9 O8 o9 W2 ^apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \' O7 g6 r2 v$ G) J! ?, S+ ]
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick& Z( I8 Z' o \. F
update-alternatives --set php /usr/bin/php7.4
2 s; E8 U3 u3 v# 启动PHP-FPM
, I% d) Z, z: k6 ~! h+ w) o6 G1 Y) |systemctl start php7.4-fpm
& ^' @5 d! F; y. ]* Z8 R* H接着安装Mysql(MariaDB):8 N" ^8 S9 P; ]- X+ |& P+ D
# Debian/Ubuntu安装Mariadb
5 @, @+ ]! a6 c. }$ t/ _0 K5 _apt install -y mariadb-server
" C" V1 ^6 d% n; u0 S% U#CentOS安装Mariadb/ d- |2 K" [6 q
yum install -y mariadb-server8 i7 O5 O3 l' U
systemctl enable mariadb
$ J& x+ y) F) k8 Y$ {; s#启动Mariadb V- W% i* I3 ?0 p6 W
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
' e: g7 w: O- g! P" e8 i N#CentOS系统安装Nginx L# B I+ _% A+ J6 Q6 s
yum install -y nginx
! I( w {: M* k7 [" E* Ysystemctl enable nginx
( ?4 X# c" Q3 y. U- D" w4 z& }; N% h6 L#Debian/Ubuntu安装Nginx0 M) _1 V! K' q1 ]6 x) J& V6 c
apt install -y nginx7 t, G0 ]; u- m- Z* Y+ |# @( v
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
: Z4 R; @$ B9 H8 D3 T2 t 部署YOURLS返回目录部署YOURLS的步骤如下:
1 R( _6 s. s7 d5 C' x4 r5 J) E1. 创建YOURLS的数据库用户名和数据库:
- l) N" x3 [% I/ m; |" x# 进入数据库1 e; H5 F3 I) }& L) w# K
mysql( E, d! H& x+ |. v
# 创建用户名,用户名和密码改成你自己的
, J( x+ u# v; `- Y0 Q7 b. d% pCREATE USER 用户名@'%' IDENTIFIED BY '密码';
! ]0 D; u& S+ v0 h# D. p# 创建数据库,数据库名字改成你自己的$ T' v O4 U j$ N
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
8 u) Y9 {5 _$ T2 ~3 _0 d" t# 赋予权限+ b/ E, M% `! e6 p
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';, p( a, A& v. f- t l
# 刷新权限- |# g' e5 C' p! |* ^; U
FLUSH PRIVILEGES;2. 下载和安装YOURLS:
" N. q+ t/ `( q& n& P( b$ Fmkdir -p /var/www4 s6 j' R4 g C3 p+ v& p' E1 E
cd /var/www/' T0 {7 }+ q2 |2 p6 ?
wget https://github.com/YOURLS/YOURLS/archive/master.zip
* [/ }* G6 M0 F) w" i9 punzip master.zip
5 T) [1 K W5 U' Imv YOURLS-master YOURLS w) J" M5 g( c3 k& F1 J
# 修改网站目录权限
! _$ d7 u8 J0 q* W- e& O# u5 J: Y# Ubuntu/Debian系统
9 _ N F7 w d. i+ P/ U2 F& _chown -R www-data:www-data YOURLS
. i+ l [! r$ W. J, d# v' }% r. E) P/ Y# CentOS
. \3 v8 O/ w$ O5 w$ _7 U& `chown -R apache:apache YOURLS
: j8 t1 s; W1 I) j# Ycd YOURLS; |. h" _. c' Z" |% w
cp user/config-sample.php user/config.php
' S& L$ X% O/ v. Tcp sample-public-front-page.txt index.php
" Q8 I! n. w) a# x; Y' H- R3 ocp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
. W7 [: L k/ ?$ xdefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );2 A1 q3 ~) v0 T9 G
define( 'YOURLS_DB_PASS', '填写数据库密码' );8 R2 J4 ?% k: i
define( 'YOURLS_DB_NAME', '填写数据库名字' );' c+ P$ v) ?2 l! g: h4 V; c
# 这两行基本不用改
# [' s* Y0 x, A8 P- Ydefine( 'YOURLS_DB_HOST', 'localhost' );
$ F+ V- c G$ K5 a7 ]) m+ Tdefine( 'YOURLS_DB_PREFIX', 'yourls_' );$ Z: q/ f0 B2 K* w2 v5 F* M
# 填写你的域名,不要加www形式
: W! r) j h( K$ W& Sdefine( 'YOURLS_SITE', 'http://你的域名' );3 L& I( E0 v) k1 t
# 填写时区,国内是86 U+ T6 y3 [6 @8 {4 O0 n
define( 'YOURLS_HOURS_OFFSET', 8 );
: Y; S: h% D. N) P M# 设置为中文
# \# u% B+ a8 u; G$ R$ i0 Fdefine( 'YOURLS_LANG', 'zh_CN' );3 q0 P9 v( }. T, u: D
/** Allow multiple short URLs for a same long URL
5 P$ ?* ~. R+ s M/ L ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
/ Z# u/ |. |: I! l9 n2 D1 ` ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */9 s4 b6 D: K& r8 c9 {9 g4 E2 R g6 W+ n
define( 'YOURLS_UNIQUE_URLS', false );
6 x; x$ u+ P1 S) ~# 设置私有权限5 W$ E& T! g) v) m
define( 'YOURLS_PRIVATE', true );* @' B; C1 X' k9 C1 i$ f# @" R
; s1 @. N7 I, X! t, ]& \: ^
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );+ r; v/ s9 D& t5 g* T- u! r" P9 }
# 后台登录用户名和密码,一行设置一个,请务必修改
8 d4 {* n2 K/ G7 `6 M! U$yourls_user_passwords = array(! S3 g& N7 ~+ e/ d @' o
'用户名1' => '密码1',
4 s' O' k7 y% e" F- I // 'username2' => 'password2',4 e7 E: t1 {, B, z, n
// You can have one or more 'login'=>'password' lines. V+ Y6 h1 n2 I' p, P, d5 u1 c* l
);6 F- F3 v% r& p( m
/** Debug mode to output some internal information$ T+ w; G6 R3 a, P0 |
** Default is false for live site. Enable when coding or before submitting a new issue */
- ?! v6 A, O4 l& J4 Qdefine( 'YOURLS_DEBUG', false );
r& s+ A0 f) \1 U# 网址中允许大些字母填62,否则填36* \) j7 U- ^* Z
define( 'YOURLS_URL_CONVERT', 62 );$ |: j0 ~$ |: Z9 T5 p6 \$ H
/*% f" g% X# P Z+ v" B) {! F
* 36: generates all lowercase keywords (ie: 13jkm), N$ \, k8 G. B8 ?5 H+ r
* 62: generates mixed case keywords (ie: 13jKm or 13JKm)
# A3 `! ~$ @$ @, ~# E% Z * Stick to one setting. It's best not to change after you've started creating links.1 l; C* U* Z, G, z+ N" y: t
*/! ^" k3 l! N+ @
# 保留的关键字,可自己添加
5 w, @" c _( x& ?2 Q/ Q$yourls_reserved_URL = array(
. [7 x7 d3 ^# H2 z$ V 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
. g4 h- G$ L' D! }; @);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。0 i7 U4 a( q: F
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容. t0 N; I6 Y3 y: _: g* t# Q J
server {$ v& |; Q6 S" Y9 F* w9 D
listen 80;
% c c, q2 d7 [ server_name 你的域名;
! [6 M' h F- q6 A$ c! q: {& A charset utf-8;
. X; v. s9 @: k- m, m8 f root "/var/www/YOURLS";
% i0 K. ~4 N8 j9 |1 ~8 j1 i r2 M location / {+ x% D$ {5 `5 g1 I) f; Y! X0 L/ M
index index.php index.html;
% G" } ~3 w, m8 f2 z# {) v try_files $uri $uri/ /yourls-loader.php$is_args$args;
& _/ E4 U* G u$ x9 g5 h _" o { }. `' @* u! K. z5 z! v; J7 c2 H
location ~ ^/\.user\.ini {
+ A- ~/ t8 _. G2 }5 y$ [ deny all;
8 H1 Q3 q5 e; @# v/ L: @& e6 P. ` }
. Y3 L6 M' e5 o, m& c location ~ \.php$ {7 v+ h/ ]; w6 O% y9 \4 h5 X
try_files $uri =404;1 Q/ b, } J8 y
fastcgi_index index.php;
, C& l: {/ {& T' N) L) Y6 j # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
& d, q/ i$ I1 d$ W6 s fastcgi_pass unix:/run/php/php7.4-fpm.sock;
L5 g' E( J" t: @3 |$ z include fastcgi_params;: g) ?9 v% B5 z4 o
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
" s Y# I0 u' a8 Q* ~8 I }
! x' t/ c/ c. a0 b4 n; {# A% A location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
/ [+ c/ g, K$ f expires max;
7 n! \6 l1 H, J: D# q1 C access_log off;
$ m, S8 \3 ~3 Q( ]! u try_files $uri =404;7 w- [- G! ~3 o/ p& W
}4 E4 `' v& `) c @/ ]: C
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
/ T% ?8 T2 M4 ?( K6 J5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
) w8 t- H- K. B i) W/ C浏览器打开你的域名,配置正确的话应该能看到类似如下截图:3 U7 T9 w) }) F+ j- R2 K
; i7 k# Y; ^# z
3 k7 y$ k3 K( l
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。- [0 U! `6 Z+ ?3 O
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
9 g( A- j: a) J4 ]/ o. q首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
3 C# S: ^ `0 T( @
$ E5 y* j0 |0 q9 v6 h4 w; x _* ^) W9 q* q$ q) j) ?% y9 ]9 {
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。9 I+ O) T7 T4 |( F1 i
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
) ]& U5 H% c+ _3 W) iYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。3 j6 p" ]1 c1 h( S: ]1 u
最终网站前端效果图:2 O5 P1 `3 `2 f7 w9 s, F
4 k9 ^* {/ ~0 o
0 g' `/ A* ~* ]短网址前端效果图后端效果图:; j' d8 {( a- R" ], h% |: A/ N9 i
* R; }# \# n( \3 S. F) [( A( m
/ J# ~6 i# N: S8 [+ q b短网址后端效果图相对原版颜值高了不少。( V; M( |* ?( D0 s" f, @
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|