|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
% |* y; u8 b3 P0 ^经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
N/ J2 H- N& A) u+ U本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
% m8 l0 O# Q( o1 N+ c; { 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
: s. k$ @. _/ p
9 C1 s% J$ \% ~6 A7 p6 q) c8 k7 Z% L+ U- V& R
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
! m! ]( v! t: ?4 u5 }# Debian/Ubuntu系统安装PHP 7.4. m8 c1 \# K S* C
apt install -y lsb-release gnupg2
" ^) s2 c/ |, k) [/ T2 }+ Jwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -2 M+ B" G6 k. F- W3 H' o+ ~& W( _
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list0 H9 n3 C0 l0 x3 I# a5 I' e, Z( {
apt update0 T- ^; l2 G) T4 F. [7 r
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \3 \1 N0 l" I+ R$ J S2 i/ K
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
! {8 }3 B3 `/ Hupdate-alternatives --set php /usr/bin/php7.4
* U4 w. n2 F4 M7 B8 T1 P' g# 启动PHP-FPM
! C6 J0 W4 ^5 ~: v4 T5 r+ Usystemctl start php7.4-fpm
$ ^) S4 X0 r& h3 T$ m) i接着安装Mysql(MariaDB):# {) r; x2 F! Z! J$ {* e/ C( R8 d
# Debian/Ubuntu安装Mariadb
P, ^6 g, D8 Z+ s2 c. j _- |: d$ Rapt install -y mariadb-server8 @+ N: b' t% V0 ~4 t& K- t
#CentOS安装Mariadb( J7 g8 d% e- a9 u4 b/ S; Q
yum install -y mariadb-server5 }/ Y7 K; Y% I0 h/ Q
systemctl enable mariadb
; Q C$ z' f3 ^$ m#启动Mariadb6 M! j4 S3 n9 d* f6 s; ~
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
* b |! p4 Y5 h) d. m% ?#CentOS系统安装Nginx- x' C8 ?: s2 F/ u7 k) w
yum install -y nginx
/ S* t- [6 K/ U \systemctl enable nginx9 q$ D2 X) }; j6 n l5 v
#Debian/Ubuntu安装Nginx) s: r x2 F/ { A
apt install -y nginx
& u) M4 {9 S0 h' ?# G& B5 o; \! {安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
! p( u7 a S% u. v T" i 部署YOURLS返回目录部署YOURLS的步骤如下:: {6 w. p9 g8 X) I+ e
1. 创建YOURLS的数据库用户名和数据库:$ f9 d( m) y( p
# 进入数据库" ^& h5 d3 Q. w
mysql
$ ?) f8 B" X0 O7 Z) y" T3 }; u# 创建用户名,用户名和密码改成你自己的0 N S8 y& f5 ~ h; S1 J. v6 S
CREATE USER 用户名@'%' IDENTIFIED BY '密码';
' H( ^$ M( x2 Q" \9 j# f/ W# 创建数据库,数据库名字改成你自己的 c- l% ~: K' S3 a, X, A6 A1 @2 _
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;6 O3 S) q7 ?) Q0 [- D8 H7 j+ c
# 赋予权限
8 x a1 k# x% Z; [+ k bGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
' g* J/ t! M7 s( ~% [( w+ {# G7 g# 刷新权限; q( u7 q; G( x" o$ n, t
FLUSH PRIVILEGES;2. 下载和安装YOURLS:7 G% L8 B& ^+ I& R8 |- N- s/ ]! g( T
mkdir -p /var/www
" `$ T r! l" {, Ccd /var/www/
9 `# `. N# p- Y8 e- c6 gwget https://github.com/YOURLS/YOURLS/archive/master.zip# p) M% Y' b5 d2 O$ p7 o
unzip master.zip
3 O* v5 ^9 [% t2 u! Y' s1 Qmv YOURLS-master YOURLS
6 X+ i8 j9 w: Q, G9 f! |$ Q% M# 修改网站目录权限7 O, M1 ^! c+ f$ z6 _; S
# Ubuntu/Debian系统
& y( B! ?0 G) I+ Q, i/ ~chown -R www-data:www-data YOURLS
# ]4 C6 i u3 A" j3 M8 K% X7 n# CentOS4 w$ h& \) W/ m* C) r
chown -R apache:apache YOURLS9 u$ {5 F6 R5 Z; p) i5 _/ }
cd YOURLS7 r: f0 N$ F# E" }( w
cp user/config-sample.php user/config.php1 I: ~' K6 f; M* Q7 I
cp sample-public-front-page.txt index.php
6 D$ f( y: M- @. Lcp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:5 E) v( ]6 @! D4 `
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );1 ^& w0 A. E! J$ ^0 f: L( e
define( 'YOURLS_DB_PASS', '填写数据库密码' );) I+ @; ^& F" e- L- U
define( 'YOURLS_DB_NAME', '填写数据库名字' );; }+ D; P8 _& D8 Y
# 这两行基本不用改' s0 R2 t: y$ `* o& F& k
define( 'YOURLS_DB_HOST', 'localhost' );
; c: b+ t7 H* ~: n8 F5 B6 |define( 'YOURLS_DB_PREFIX', 'yourls_' );$ O: z2 S% `/ A0 y; M
# 填写你的域名,不要加www形式1 q3 Q. X$ g+ G4 z, N: W( z( o
define( 'YOURLS_SITE', 'http://你的域名' );
$ g/ M( B% [& s) a3 C# 填写时区,国内是8' h0 D% z& F' J
define( 'YOURLS_HOURS_OFFSET', 8 );
o# E2 m5 U; M, }5 g. U0 V# 设置为中文1 V& Z$ |. x$ i8 O; j: F) g
define( 'YOURLS_LANG', 'zh_CN' );
1 ]& s1 T ~9 X( N/** Allow multiple short URLs for a same long URL
- V8 a& ]7 F+ q5 d. n; E ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)* \. [& h6 g0 l! m! i2 L
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */% |) E+ L) S6 m9 \! d
define( 'YOURLS_UNIQUE_URLS', false );3 ~8 ~( ~" R. [# s: {
# 设置私有权限 k6 i, `* G5 c1 y# G" y$ X% k4 E
define( 'YOURLS_PRIVATE', true );! j# |) ~- J0 D0 D/ [* p$ P1 X8 x
2 j7 `' D( H- p$ m& _- N; U# \
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );& J) @# P5 w3 ^' |! o4 n- P9 v
# 后台登录用户名和密码,一行设置一个,请务必修改 ~# Z! k( A: i+ n! [
$yourls_user_passwords = array(
' s, q6 @! B c0 o7 t( S0 N9 d '用户名1' => '密码1',
) e( V% y9 h8 H4 r // 'username2' => 'password2',
8 w! z# ^+ K' h- [ // You can have one or more 'login'=>'password' lines
" R; j0 P5 ~) `) ]5 Y1 M3 E );
; y; m8 }' ?0 C/** Debug mode to output some internal information, `2 _0 B) T" Z) |
** Default is false for live site. Enable when coding or before submitting a new issue */" n. J: ~2 ?9 @% \) v* Y1 s
define( 'YOURLS_DEBUG', false );5 Q* N5 i# j4 Z% ]: h6 u6 S( a
# 网址中允许大些字母填62,否则填36# X/ n& l% E6 P0 j0 ?
define( 'YOURLS_URL_CONVERT', 62 );
4 J1 S8 A8 Q' W: A/*4 A0 X# {& u( z4 s. ]% w4 d7 J7 F
* 36: generates all lowercase keywords (ie: 13jkm)
0 u# ^0 N1 k7 v, [ * 62: generates mixed case keywords (ie: 13jKm or 13JKm)5 ?/ g7 K6 z: T) p; {
* Stick to one setting. It's best not to change after you've started creating links.
7 |* ]. ?; V* F9 u */
2 I# `8 b& u' `# 保留的关键字,可自己添加/ h& J3 t* n: l. c6 R- j* ?4 d
$yourls_reserved_URL = array(0 R, b' t+ `" V3 y9 \0 o/ P
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',' j5 j n5 W. w+ b- A5 w9 j
);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
8 g$ T; @* D& U4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
[) t" U! |: l( q9 m* I# A Pserver {1 x' g# m6 I0 o4 n) K
listen 80;0 h: v& X: C) y
server_name 你的域名;8 l6 M, l0 Q _# v
charset utf-8;) `8 j K$ B' n
root "/var/www/YOURLS";
" o! Q' V. q" _0 _ location / {
% g& I4 s: q. c index index.php index.html;8 ^$ D5 U# k$ m0 G) A9 d4 P$ Q
try_files $uri $uri/ /yourls-loader.php$is_args$args;
5 l$ U5 k& P- Z- k0 c7 y$ x8 U }
; ?; y, t% S1 |1 A; H; o location ~ ^/\.user\.ini {5 n) H0 `6 _ O
deny all;
+ {5 {1 I# ^4 p9 H: V; N1 j g: W/ G }
9 `2 ]3 l; y0 x8 M0 A7 i' w$ Q2 u0 W location ~ \.php$ {* A) Z. _& L4 }. O9 l
try_files $uri =404;, ~& y0 J3 N8 R3 H- y# a
fastcgi_index index.php;
; a; v2 u3 y$ M; K0 \) B) l# M # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
% g) |2 ~$ b3 w fastcgi_pass unix:/run/php/php7.4-fpm.sock;
6 K. L: e! m/ E, } include fastcgi_params;
) ~- N0 {% L! c" W fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
( A6 g& ^! P: s7 A }$ D8 x, @/ |1 F2 p) S# h0 X
location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
, l6 Q! G8 i3 D$ X7 a1 E. ^, g1 L expires max;
, e9 S+ x" }1 _. M: c: _, y access_log off;
, e& m m, \/ m try_files $uri =404;& f0 @& F) q1 I( [
}
0 z5 U0 B) U7 C. r}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书5 A$ f! P9 E! u$ \. l% a" E
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
; s. V' D1 x8 }. b浏览器打开你的域名,配置正确的话应该能看到类似如下截图:) N+ L% g% K/ ]% a! U5 q
; q6 A( f. b* y3 u" E, K" n& x# w0 x7 g
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
( R$ E; z# H; g# ]! V: X 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。+ a( i' v+ _5 M% x5 g
首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:6 l6 j8 i2 `& h3 K# L
0 {. P+ `- O$ t& X0 C2 E+ i; Z9 w( w" x% W' f! B6 J. M1 n
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
2 S; D4 o4 x; y3 r1 u推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
# e; }! [3 x/ iYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。( Y5 {6 M3 E) e I: W, U) e& s- B
最终网站前端效果图:
0 Y( p z0 P' E# l2 Q* }
7 }9 }7 \ H1 h2 {: ~. k
8 E% R5 m, n5 k6 I0 K短网址前端效果图后端效果图:
" ]4 }! H; q# {, T, c2 d3 K0 [: @: v
8 t) l/ p! H: R( U短网址后端效果图相对原版颜值高了不少。7 J" Q( z( z% \$ A. [) ~- K0 h/ }
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|