|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
; U1 K+ C0 A2 @! n' L8 ]; ~6 x经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。9 ^) ~/ N0 J9 x1 n5 o+ D
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。# T3 k5 |- f0 A B9 U- i3 l$ g
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。% b2 F) b/ K# S, @; n
/ V: F, i; i2 s1 P7 l4 b" C2 ]! u: t
! I6 \8 Q1 q4 r$ S: f/ Z+ p8 B
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
7 u( M: m; u h. C$ N8 p8 w# Debian/Ubuntu系统安装PHP 7.4
; p# `' a$ ~3 eapt install -y lsb-release gnupg2
! ^, h$ K& U, B# ?, T% @2 uwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
" e. M: P8 {4 I. y7 V4 {echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
" Y! h8 P( ^! d5 ~/ E" m6 ]apt update- x8 j$ g( f" f
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \0 e- |# `4 n0 a* Y% v1 D6 E0 S% a
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
) @2 T( m+ [% N- Y7 tupdate-alternatives --set php /usr/bin/php7.4
" |5 c! [3 c# J% B: h# 启动PHP-FPM
# |( M p, @% @" w2 G- h# X: nsystemctl start php7.4-fpm9 @7 H' j s8 y E/ O W
接着安装Mysql(MariaDB):4 ^0 X9 ^/ |4 P+ {& X2 n: `/ {! M
# Debian/Ubuntu安装Mariadb
# ]2 A: T2 t! v3 C" M6 dapt install -y mariadb-server
2 U, F3 k# z7 I- {) W#CentOS安装Mariadb
6 b4 d4 G: Y( M# Iyum install -y mariadb-server
2 |( w' O, ]0 Q. g. x1 o9 z5 A5 ]systemctl enable mariadb( P1 T3 ~- @3 R( m6 Z5 S. A
#启动Mariadb
9 w, I* b% }7 `; U7 x. y+ ^# H, Nsystemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:6 x' ~2 P5 Q$ ]5 M& B [& ^
#CentOS系统安装Nginx
( o3 Z! k- d1 xyum install -y nginx
3 k8 y8 Y0 {# x( y: esystemctl enable nginx1 [8 m& M3 @! t% k4 ?6 B* ?7 \
#Debian/Ubuntu安装Nginx2 x5 Z3 ?2 a1 Y' b3 ^+ |5 h6 T
apt install -y nginx* \# B @# Z7 i4 r/ O1 ?, _
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。. E; _- H6 K# s
部署YOURLS返回目录部署YOURLS的步骤如下:- v9 `3 L& p4 p0 Q
1. 创建YOURLS的数据库用户名和数据库:) Q5 d) _0 N& z# z/ \# P
# 进入数据库% Z4 {: S3 j `5 s. E7 B2 `5 j
mysql/ ]8 h% ]; B4 {
# 创建用户名,用户名和密码改成你自己的
) x/ @# L% }2 p, qCREATE USER 用户名@'%' IDENTIFIED BY '密码';5 e* r7 H- o/ c% k; H
# 创建数据库,数据库名字改成你自己的
, W) i. K. Q4 x& [+ wCREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
/ m7 B1 y1 h* ~0 g+ N# 赋予权限
$ L1 Y0 b$ a" lGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';" Y" [) a4 w& q }$ P) f
# 刷新权限! t; B# U/ Q8 B1 P8 i# Y2 B* L5 k1 J
FLUSH PRIVILEGES;2. 下载和安装YOURLS:
+ h3 s, U: A8 m( Z: j7 Y5 @mkdir -p /var/www) m, j4 @5 o! u! g! x5 K( g
cd /var/www/
9 l% i. s8 n) Q) k& I Owget https://github.com/YOURLS/YOURLS/archive/master.zip
* V% u( Q4 K' Wunzip master.zip9 T* T# K) q; [! ~5 O* V
mv YOURLS-master YOURLS' p0 L1 D4 i9 z' S
# 修改网站目录权限
; ^5 \ T) x( D# Ubuntu/Debian系统
! c* E' u) a& g4 z. z: rchown -R www-data:www-data YOURLS) M. c& w/ y5 k3 g2 b& y! O: h/ z e
# CentOS
: O ^5 G" Y7 t+ i) Y2 u/ @2 lchown -R apache:apache YOURLS
" o5 H7 q8 {/ M& O& R" Hcd YOURLS* Y# [# t# m0 k/ j
cp user/config-sample.php user/config.php t. c0 ]. q( a) t1 J+ _7 L
cp sample-public-front-page.txt index.php: k1 |( A, z* }' X, @& w" Y
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:* \( ]9 L. {/ b
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );0 {4 } c9 v# ]3 S" A. W; b0 w
define( 'YOURLS_DB_PASS', '填写数据库密码' );
7 h# a+ b4 d5 |define( 'YOURLS_DB_NAME', '填写数据库名字' );7 C4 n1 i( P; p% j/ ^
# 这两行基本不用改, q/ d8 `( f' d( Z3 C7 ^. c
define( 'YOURLS_DB_HOST', 'localhost' );
0 m5 w Q5 @9 t" c" sdefine( 'YOURLS_DB_PREFIX', 'yourls_' );
% d. D2 V. z, n2 X+ p$ k# 填写你的域名,不要加www形式0 u/ R- P: |' g; r! G* t2 @
define( 'YOURLS_SITE', 'http://你的域名' );# E3 p/ J. o H/ U" Z6 n
# 填写时区,国内是8
( f9 q% P- F. K+ gdefine( 'YOURLS_HOURS_OFFSET', 8 );
! g/ {$ F, y* w6 p. N# 设置为中文
( p0 {8 O; L( \define( 'YOURLS_LANG', 'zh_CN' );, t( N3 L& w+ z0 f( B# ~2 |
/** Allow multiple short URLs for a same long URL
+ }9 d$ m: e: F7 n' i. k: ` ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)8 \2 O2 }5 ]# d( x: G- G
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */: O: h5 V( t0 b7 |& Y; H, O
define( 'YOURLS_UNIQUE_URLS', false );
7 u* g' \; Y7 |# 设置私有权限
" {0 M h: l) idefine( 'YOURLS_PRIVATE', true );
: d9 N8 L2 Y* s" q$ l( c$ b1 |2 Q
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
' G3 _4 i5 U2 }5 a& q" f2 v8 D# 后台登录用户名和密码,一行设置一个,请务必修改. K5 w2 l9 V6 A" E3 \
$yourls_user_passwords = array(
0 {+ i8 b e: m/ e" S; H '用户名1' => '密码1',
1 r( U: E; o0 T' X$ A, z. E# U // 'username2' => 'password2',. ?3 Q. ~. d5 W5 S3 T9 {* _; R7 \
// You can have one or more 'login'=>'password' lines
" n% ^+ K8 b$ V );7 N+ {2 C' X4 r+ E: n
/** Debug mode to output some internal information
) V' [. X! v* c- H ** Default is false for live site. Enable when coding or before submitting a new issue */
* y- _0 d) B+ I6 L) Bdefine( 'YOURLS_DEBUG', false );0 H: U% N! w# B; ?2 k; o9 P0 ^
# 网址中允许大些字母填62,否则填36
$ A2 s) i& Q1 E$ v. S, Z1 Odefine( 'YOURLS_URL_CONVERT', 62 );3 n. D( }$ ]& k$ T9 x) P+ y
/*
# i0 ?$ `6 z4 m3 x * 36: generates all lowercase keywords (ie: 13jkm)# i- ]3 B7 c- w+ Z1 K0 u3 F, L5 H& R* `
* 62: generates mixed case keywords (ie: 13jKm or 13JKm)% y; W' w- E0 s5 D* |
* Stick to one setting. It's best not to change after you've started creating links.
; U7 O, c7 G+ J3 r0 m3 x0 a2 y */1 I/ g; ~8 {9 W
# 保留的关键字,可自己添加; b& |$ }. u+ R& o
$yourls_reserved_URL = array(
9 w l) |+ L. F5 ]) E 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
- W! }. |! ?: V2 x);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
8 g8 r9 f, O: c& }4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容6 s( L' `9 ?- {9 {' N" @
server {+ n' E& S2 K! d) j
listen 80;
$ m8 j2 U5 S6 C; A7 ^ server_name 你的域名;% C1 @# u% U! _$ K/ h) M
charset utf-8;
. n4 l, D4 y) g$ ?6 K4 _1 j root "/var/www/YOURLS";
: A& \& E% f8 b# V/ p8 I location / {
9 ^; ?2 f1 N) T+ } index index.php index.html;' U' H9 {$ _; l; l. O _
try_files $uri $uri/ /yourls-loader.php$is_args$args;+ a& l9 l+ j1 n' z' q/ c* t/ `
}- n, {; f2 X3 Y
location ~ ^/\.user\.ini {
0 J y v/ g# h: ?7 B- T8 x deny all;
2 v5 q5 W3 x& P, ~( d7 z }$ U( V% C, ^2 u; J0 |; ]8 X
location ~ \.php$ {
! w* y+ t& J) V D try_files $uri =404;
6 v. _! C; ]; A2 L, f: l fastcgi_index index.php;; h3 ?8 w( M4 y) a6 `$ S
# CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
# p9 ]( `( e% c. z; W fastcgi_pass unix:/run/php/php7.4-fpm.sock;
/ v! G2 D) Y/ g' x# b include fastcgi_params;
! X' U$ \8 }5 O6 m fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;# Y% ~7 @& J1 S F) V
}
2 H( ]) N8 g6 T7 T& [& o8 J location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
' w7 J& T! r. C+ J expires max;
. I- j6 S0 p% H1 y7 e9 I1 T access_log off;# i$ U( _, |4 ` L; G
try_files $uri =404;3 y2 \ s6 d6 ~
}
" w- d* K3 B. |/ X}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
/ @7 i; N1 p0 B0 c: I. ~" V5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。9 [3 C. l* P! S1 ]
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
; h% u( c+ K$ D3 y8 T; Q6 S* A$ _* \+ s. P" T. _
* M0 ]3 N; z6 R' ~" vYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
c5 b, Q! @8 K1 [: i 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。; _. j5 T% G0 [8 U0 \
首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:( |: p% |1 ]9 {' S4 G$ Q- D9 x
. c! B; F( G; _! W) n2 X
$ }9 z, V$ Z. o! w- n: wYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
, e7 V! w: H- M8 d+ D8 J7 h9 `! q" N推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。: I" [" t, I9 }7 N( n. R* P
YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。- Z% A& d1 u; o
最终网站前端效果图:- r4 V* Z; I7 t" @
% I" o0 p8 M% k' A( g; g) L4 U6 R1 E c5 s
短网址前端效果图后端效果图:
$ Y! e0 R9 ]. A5 G* K! e. I9 \' ~6 ?; j) M# h3 k4 I
7 d" ]3 Y$ T$ R; k& c1 T5 N
短网址后端效果图相对原版颜值高了不少。6 X0 V. @2 M: T5 [
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|