|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。/ l& u6 | B* K
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。9 h3 p, @' _8 [9 Z; i
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
7 V" d- }0 I& q" g/ G6 S! z 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。% ]$ X4 I. }. f! d
! f. }" P, i; b- S2 H5 S
6 c( h0 [$ y1 }域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:* Q: F! A' v; W5 J( O0 S
# Debian/Ubuntu系统安装PHP 7.4; T' s4 I% Z3 r! }$ ~5 C
apt install -y lsb-release gnupg26 e4 O I' m5 F- M' C
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -( s! ]( ^0 s9 m: o4 m" Q, T
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list0 y/ x, b3 i! y z" R
apt update+ T Q! {3 s( m A
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
# y" H5 M7 A3 m php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
$ `; o/ W; v: _4 d8 o7 k+ \5 hupdate-alternatives --set php /usr/bin/php7.4
0 q/ M- W" g9 |: _8 A# 启动PHP-FPM
/ t% @9 y: x+ z4 B/ k S; bsystemctl start php7.4-fpm
$ j N, H; F# a* b2 ^& O1 s& k接着安装Mysql(MariaDB):9 j0 a: L7 e! x- e+ K) E
# Debian/Ubuntu安装Mariadb+ \) o" p; R; _* c% D7 D
apt install -y mariadb-server, E0 H: ^; e2 Y# o$ @5 R& r
#CentOS安装Mariadb4 G2 V6 b0 ~1 K8 P# K% \
yum install -y mariadb-server. o! s. W3 s1 X# C# W
systemctl enable mariadb: R: b# M' w4 R. M, J
#启动Mariadb
8 o" G2 |$ E% U2 \+ Psystemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
) u4 ^! Q/ B5 n7 }#CentOS系统安装Nginx
9 i# h3 {* N/ x I& @( x2 A3 Qyum install -y nginx& |# C) y* J3 g! \$ M
systemctl enable nginx4 e, \) i% G; k
#Debian/Ubuntu安装Nginx4 @$ R/ ^' e, b6 j% b
apt install -y nginx
. C5 ?- o7 [$ o* E9 g安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
0 i+ p. Y! p `6 |, q* n# S$ u 部署YOURLS返回目录部署YOURLS的步骤如下:
; l$ w: O; s4 p4 [. p1. 创建YOURLS的数据库用户名和数据库:
7 U6 J6 i% M( t2 R3 V2 ]# r. F- J# 进入数据库
* N7 U# u/ t* g2 M7 Q4 n* {( qmysql
1 [2 c! Q( o( g% e# 创建用户名,用户名和密码改成你自己的
. e3 A7 K; \& }" _% ?CREATE USER 用户名@'%' IDENTIFIED BY '密码';
* n8 e$ V/ c( m$ J& K Q0 s# 创建数据库,数据库名字改成你自己的
) @7 z" i/ w7 F. e# O* `4 PCREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;& D0 z' h7 I, a
# 赋予权限
& t( e+ s3 v* V" DGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';' ~0 Y e7 b/ f! `
# 刷新权限" O* ?; b% s9 |: B( o% Y% q4 J$ j2 p
FLUSH PRIVILEGES;2. 下载和安装YOURLS:0 X* L$ v( [; K4 ~
mkdir -p /var/www) D$ Z8 c3 m' s/ w+ `
cd /var/www/
! r6 m4 q2 g/ m/ E Ewget https://github.com/YOURLS/YOURLS/archive/master.zip, o: B* ^! l6 Z6 D
unzip master.zip+ n. ^, x. _/ M! p% I& P
mv YOURLS-master YOURLS& g; Z/ E$ |! Y6 F" a
# 修改网站目录权限
. L: b* O/ \" M7 s! l- g! |. f# Ubuntu/Debian系统
1 f, q9 ^) L1 g2 dchown -R www-data:www-data YOURLS
7 `1 ^5 K- C- J/ p/ I: e9 R0 h* h# CentOS4 `9 K4 W; g4 J' H2 m/ r
chown -R apache:apache YOURLS
( h$ L- d8 b3 y9 P4 B6 [ Ucd YOURLS& c. Q5 v- E6 v+ m
cp user/config-sample.php user/config.php# |- A# O2 [* v0 ]! \8 ?+ @$ C3 K
cp sample-public-front-page.txt index.php
6 `$ l! ]* v6 wcp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
) X4 h: f, O' W; h/ W0 Q; edefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );( D* z, O3 `0 i/ Y5 }: q& P. u
define( 'YOURLS_DB_PASS', '填写数据库密码' );
( Y+ T5 w# h$ D9 F2 U6 {define( 'YOURLS_DB_NAME', '填写数据库名字' );
- |) o7 t- |% R- q% }1 b# 这两行基本不用改
( g, ?8 ~+ h- G% V% j! u6 S' xdefine( 'YOURLS_DB_HOST', 'localhost' );
5 V5 I* ]' G9 y% C/ x W7 `/ vdefine( 'YOURLS_DB_PREFIX', 'yourls_' );6 B; F1 o9 h9 [' P
# 填写你的域名,不要加www形式
& |- r4 V" n$ v) wdefine( 'YOURLS_SITE', 'http://你的域名' );
8 ]& f5 Z2 q% N5 t* g# 填写时区,国内是8
! w# J+ b, [, l; d$ `' h$ a; c7 |define( 'YOURLS_HOURS_OFFSET', 8 );3 t! K; _5 M1 c7 t
# 设置为中文7 t8 R1 `0 ~/ z" q) j4 N
define( 'YOURLS_LANG', 'zh_CN' );: i3 r3 C9 B7 p
/** Allow multiple short URLs for a same long URL
. R# _4 g; l5 a' Z% q1 S6 H ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)0 J$ D: L- j! H v9 u
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */' j' t `7 e, F4 G- }
define( 'YOURLS_UNIQUE_URLS', false );
' c7 ]- R5 p7 ]5 d# 设置私有权限
5 h" D- g; \# n8 u: y! pdefine( 'YOURLS_PRIVATE', true );+ R1 a, s) U! y4 h1 q
! j' Z( H0 C6 w5 Ldefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );! W6 |; `% J: s- a. k
# 后台登录用户名和密码,一行设置一个,请务必修改
6 e' H: z& n0 v3 J5 p8 }6 Q$yourls_user_passwords = array(
2 W2 Q/ f/ J* R: }6 p/ c '用户名1' => '密码1',; M( A- y# T% f- o$ ^) {- e
// 'username2' => 'password2',
3 c' K4 {0 l8 e8 F1 C& A // You can have one or more 'login'=>'password' lines @1 i. Y& X' Q
);
" |* V/ l Q' [6 F1 N5 S3 K/** Debug mode to output some internal information+ `2 n* q, O& I) J; i' u, I: T
** Default is false for live site. Enable when coding or before submitting a new issue */
2 {5 K, W- R) E$ zdefine( 'YOURLS_DEBUG', false );" X9 ?2 k9 R* o3 X( {4 O
# 网址中允许大些字母填62,否则填365 ^! o, I1 M b2 E
define( 'YOURLS_URL_CONVERT', 62 );0 s8 W$ R* A; d9 V. J2 A$ Z
/*( S8 y4 K6 k' G4 B8 _
* 36: generates all lowercase keywords (ie: 13jkm)
4 [2 Y7 A* `1 U7 a) ^; U8 o * 62: generates mixed case keywords (ie: 13jKm or 13JKm)6 B5 e# M0 O. p9 l' M+ b
* Stick to one setting. It's best not to change after you've started creating links.
3 }4 p" r) o3 ` */# \0 w. J+ E. Q& b/ w P& I
# 保留的关键字,可自己添加
: t" }7 T) j; P$yourls_reserved_URL = array(
' j c; }! ]' U4 e 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',0 O" p) m7 Z% h/ V& \
);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
# x) s2 i1 k( k" w* J/ a/ Y$ P4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容; @- T6 U$ L h& R2 G
server {
. y) J4 X* @1 e" ^1 J listen 80;6 o* f! n( n* b$ `5 l9 {
server_name 你的域名;' I' w K; U2 X$ H4 f! R
charset utf-8;; O; g$ A" @' q
root "/var/www/YOURLS";
+ l& D) ~4 W1 q location / {
# Z2 a0 ^* I2 ~ index index.php index.html;
# \3 G' Z' n/ a0 |8 ?6 `6 _. d try_files $uri $uri/ /yourls-loader.php$is_args$args;
5 R$ F8 {$ G) L' a# w }
2 I- i0 x! k6 e/ `- F& ` location ~ ^/\.user\.ini {
5 r0 ~+ p3 Z! `3 n5 p deny all;
* C: H. r1 H" s2 k) R* R5 j; D }. b9 L/ r! |, D, ?+ }' B
location ~ \.php$ {
" Q) s; k" }5 U: R0 X4 {/ b try_files $uri =404;, i8 |3 K. H& R) H& E+ a
fastcgi_index index.php;4 e, r2 w! P4 H" B- A
# CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
5 K- \7 T4 R5 U2 N* Q: Q fastcgi_pass unix:/run/php/php7.4-fpm.sock;
7 m& ^' o7 E" q0 M6 {# Y5 f d$ U include fastcgi_params;6 o3 k& M) t9 d
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;/ \) v' t- D% u4 I0 p
}. R) Z" S* k/ v. k2 }7 |$ Z# z r
location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
& [2 I* C9 p" S9 p1 e expires max;$ g' v3 _: r9 e+ B( x) S7 b
access_log off;+ b: E0 j* x" B
try_files $uri =404;( v3 r! Y0 D& B8 O1 A
}
* B/ K. b' j$ P( H6 b5 p}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书) `* |) d* ^* t* [1 K$ v
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
* Z% H! f% C7 P- P9 j# }! f7 V4 b2 k浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
* f& l) G& S6 B
' ^' W7 J0 y( k0 }1 R5 p
+ w! A0 K% X# l7 D$ zYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。- P0 C4 _/ q" r4 k8 ^4 \" u
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
) \2 `+ U: D. M: K# h首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
9 J) U |4 K5 r% `
/ X& A- Q# ~( ]6 Z5 h
/ d" x1 }# C% K+ A4 K9 `1 VYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
l- |+ c7 X' F V$ H. [2 k推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
' k. s5 K) s; m! VYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。3 j9 g4 V2 O- Q9 w; F) v3 Q
最终网站前端效果图:
! j3 n+ A# l7 x) t$ U6 }
( l1 a7 k9 c) K, i' b7 d: O7 j9 ~. Y5 G5 ?
短网址前端效果图后端效果图:+ @; C' M. M8 G' Q4 v2 f) O
1 K, V1 [3 d- V3 s6 m% x4 Y& ]8 I/ D2 ^" c. Z1 h6 w0 I
短网址后端效果图相对原版颜值高了不少。- i5 \7 S4 \7 E0 o2 \
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|