|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。6 C- T( D) W. M, f
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。; h8 B' V. i3 \9 [0 ?
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
, W3 f. U6 x, R 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
# W# O0 B) s" F6 r# R0 o8 A( a
% K+ n" \/ {9 W, b/ T$ O9 k: U9 u" g5 Y6 p
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
6 R# K( @8 w, t; f1 I, d# Debian/Ubuntu系统安装PHP 7.4
. `: H8 u7 ^/ F6 U( dapt install -y lsb-release gnupg2/ q: t, X+ a4 M: x+ l
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -: q# h$ b8 `0 b4 y: I# O2 F
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list/ ?& l/ Q/ i5 e3 |- N% f
apt update
3 X( W, N1 D2 xapt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \ d+ w7 Q+ C/ i2 y, y
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick* v$ a' p# Y D- t
update-alternatives --set php /usr/bin/php7.4& p" B# d% ?) t
# 启动PHP-FPM0 V/ M/ @6 g" [2 ~# {3 x& w
systemctl start php7.4-fpm
3 Y9 B- Z- H) C9 r, }# B4 m% R1 X接着安装Mysql(MariaDB):; J1 ~3 ?. W4 B9 B2 p6 u$ r
# Debian/Ubuntu安装Mariadb. \* P9 S) M$ Q" o; }2 L9 A
apt install -y mariadb-server
: u2 t# r0 m6 i9 c/ X# D#CentOS安装Mariadb2 ~$ ~; T k2 S7 K$ H. z' {# [3 P! G1 y
yum install -y mariadb-server
: w7 N4 j' q4 o& y6 u! L8 xsystemctl enable mariadb' B8 w: F) k# ]+ u$ G
#启动Mariadb! `3 ^/ t \; g! X- u* o
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
& H {0 i( D9 S/ ?& w#CentOS系统安装Nginx, B- y7 m0 \1 J6 Y' \; l0 A
yum install -y nginx
- w) l( ~8 k; [* P! Q/ |9 |% Asystemctl enable nginx+ l9 l; g5 g2 N2 y
#Debian/Ubuntu安装Nginx
2 C$ ~, G4 I( |apt install -y nginx+ c' |6 k/ _7 a. ]" l0 X. x+ J
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。0 V6 W9 H) r/ D& {
部署YOURLS返回目录部署YOURLS的步骤如下:# v( I! m. W) d
1. 创建YOURLS的数据库用户名和数据库:
* U1 F1 L! y/ y! r, G- n# 进入数据库" [' i8 Z& \6 b7 }% h2 Y
mysql
( e2 r9 g9 N3 S' O# 创建用户名,用户名和密码改成你自己的) z/ d) ?6 k" a: H5 l5 ^
CREATE USER 用户名@'%' IDENTIFIED BY '密码';
& j+ J2 a8 B4 H# 创建数据库,数据库名字改成你自己的
: l) A* @" k' D+ y& I$ }CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;) x0 [, ]' Q& E' i1 O" x1 R
# 赋予权限
! o" q( R, u3 l. I' G/ Z2 l: cGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
4 y& }/ u) `5 s: ~/ \0 I5 v# 刷新权限# c3 X, u% G, @
FLUSH PRIVILEGES;2. 下载和安装YOURLS:! o/ p: K4 e0 m" j( B3 C% X& u
mkdir -p /var/www
8 b8 I# L# L0 U) W* v) A8 f8 v$ Bcd /var/www/: q% F- H% h+ _! W A
wget https://github.com/YOURLS/YOURLS/archive/master.zip
* R. @# }. X5 m- k; uunzip master.zip
4 u! {2 g! o( t6 c/ O, X1 H; jmv YOURLS-master YOURLS
* v- N- J1 h4 o3 [# 修改网站目录权限 d C; \* ~% B" @- @( u- L
# Ubuntu/Debian系统4 K* E. [1 A; f+ e( h5 X+ h7 i, y
chown -R www-data:www-data YOURLS0 H9 c' @" N& D2 `, C
# CentOS! G2 n( C( T" {
chown -R apache:apache YOURLS
+ N6 t$ { d& h/ h; y+ Acd YOURLS9 T: k6 J+ Y4 ^1 ^
cp user/config-sample.php user/config.php c' o; [- e2 |) C( Q6 E4 v; S
cp sample-public-front-page.txt index.php8 i$ t1 z. m' i) A) p' i }4 x
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:: R) B; I/ G2 N" }4 L
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );0 V3 y: q$ I8 g' q
define( 'YOURLS_DB_PASS', '填写数据库密码' );2 k# h. W2 }# P- U8 f, T' @
define( 'YOURLS_DB_NAME', '填写数据库名字' );' m: d0 a1 P- W8 \' |3 X( @0 X% j/ D
# 这两行基本不用改
3 r8 s8 J1 F4 B/ |8 tdefine( 'YOURLS_DB_HOST', 'localhost' );# i: n* V; d- N* w9 u
define( 'YOURLS_DB_PREFIX', 'yourls_' );
, }3 u9 O# n0 f) X# 填写你的域名,不要加www形式
- Y2 e* _8 F! u: y' mdefine( 'YOURLS_SITE', 'http://你的域名' );
. I2 f# W& z, T# 填写时区,国内是8 H0 c3 \/ S N2 `$ e7 J2 S+ f
define( 'YOURLS_HOURS_OFFSET', 8 );% m) Q. N9 h+ W. s: H
# 设置为中文
/ a* ^4 |6 P4 ?+ m8 Fdefine( 'YOURLS_LANG', 'zh_CN' );7 _% }' b2 _( _: I0 d
/** Allow multiple short URLs for a same long URL) T& q r& L& n+ p# @/ b% V
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
& R4 e1 Q u0 @+ j ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */3 a6 x( q2 M* ~, s0 C7 s1 k8 N8 n
define( 'YOURLS_UNIQUE_URLS', false );$ K/ C- Y3 y6 K! r. J$ s
# 设置私有权限
. N2 ]4 A0 _' xdefine( 'YOURLS_PRIVATE', true );
/ L7 O5 T0 d% v+ P" x2 ]1 A [
: x' m7 @+ R* n! r5 D; bdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
2 f. i5 N' ]4 \, a) ~" l) U# 后台登录用户名和密码,一行设置一个,请务必修改
: {9 w) n1 I8 E, b5 M) N3 i$yourls_user_passwords = array(2 b6 N2 `; d4 J( j9 s4 k
'用户名1' => '密码1',0 ^! ~/ r1 X) j6 F% u& W* z
// 'username2' => 'password2',; B" n4 x S; Q6 `
// You can have one or more 'login'=>'password' lines3 n d9 g9 Y; ]. A
);) l4 Y# o8 J$ Z9 T$ I
/** Debug mode to output some internal information& e6 b6 c( V3 B0 e* O" h: g
** Default is false for live site. Enable when coding or before submitting a new issue */( `4 s* R A1 t0 h7 U$ Y& L
define( 'YOURLS_DEBUG', false );% P8 A: m4 U) p* }2 r2 x( |, B
# 网址中允许大些字母填62,否则填36
. M( { _( }4 ~' b9 Cdefine( 'YOURLS_URL_CONVERT', 62 );6 _# w* [8 q9 M1 i# `8 Z4 l* ^
/*! h) U7 D# H+ [! x
* 36: generates all lowercase keywords (ie: 13jkm)) }2 w8 o/ H$ b* z( q
* 62: generates mixed case keywords (ie: 13jKm or 13JKm)
' b( |3 | V; `+ r$ A. D+ }( I& f7 B; M * Stick to one setting. It's best not to change after you've started creating links.
" o$ s/ J( K) Z8 p; O1 y7 n */
" Y- v8 M% s( |6 _8 |% k# 保留的关键字,可自己添加
3 t: t0 G$ T2 l1 J$yourls_reserved_URL = array(
: `' R, w e+ a6 P a9 D 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',' r) P+ F, d* G% f& w
);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
, z3 H+ W2 I% i4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
# }& t' b6 I) W: r2 O2 Y5 Gserver {0 y3 p/ ?: U/ z0 a1 D
listen 80;$ t* `0 B: A1 U3 v5 K( i1 {
server_name 你的域名;# n l3 y1 v# `, z0 _
charset utf-8; {8 f, L1 c% \8 K3 o( w5 {; A/ a
root "/var/www/YOURLS";9 Z6 i. X: B" r& u6 G5 k$ |$ Y$ b
location / {, A& v8 n r$ }) w M4 V
index index.php index.html;8 _" D- L( v" R/ S
try_files $uri $uri/ /yourls-loader.php$is_args$args;" v2 `4 `( s9 `
}
& S( Y: _7 T! h; Z; b! i location ~ ^/\.user\.ini {/ p/ C5 N% `( C2 v3 A
deny all;& s& Z0 R; O" G( S8 F) N* K7 O" t( {
}7 a! M% l, ^: U, A) ~
location ~ \.php$ {5 R$ B1 x3 K) f+ r. E: F0 |3 D x
try_files $uri =404;' e8 o6 s$ i7 S
fastcgi_index index.php;
) u6 T* T' e/ t6 A$ t # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;1 h( t8 e* U7 @$ f8 H
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
N7 W0 h3 m V+ Y include fastcgi_params;& L7 g* F" y- a$ W3 s. f K- X
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
% n& d' Q1 }. \1 L' c: O }
; C1 e0 L! G4 ?* k' X! e3 ~. o& y location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
$ J* Y# T) l. n7 h" Q' v expires max;
! x' J- s0 O/ f7 O' I+ F* P$ K access_log off;! ]) L" z) E' b' z5 H+ I3 _
try_files $uri =404;
/ H0 T! ]) s- z1 \ }
# ^! g: ~4 @, V. K}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书 T0 Y: Z! R! c) L
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
" Y; B7 d" k4 E! d* i0 `浏览器打开你的域名,配置正确的话应该能看到类似如下截图:" _( d$ D6 J: P2 e& K. O. S/ r
3 n# q$ f0 P- |1 h" e- G" ^* Y% m, |3 v7 y
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
8 S/ H2 n( D) U' v* Y, K 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
9 Q' a8 \* Y- c3 ~$ ^. i首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:0 M. u3 `+ v9 d0 E' z# |
) M& {" _# Z3 \ t
# N9 }2 S' F; |% M$ g2 f/ ^YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。3 J9 V9 H$ A# z% c: p- s
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。; Y0 t9 Z' ^7 @0 T5 ?
YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
/ @7 G: z1 J- O) H1 F: m最终网站前端效果图:
# F' J% R: k" N9 }6 P
7 C7 s9 ^* H6 u0 w
2 r* G! W/ M3 O) Z/ T5 j6 i短网址前端效果图后端效果图:$ A& K6 }9 V6 H0 W7 J, |# {
" m+ T9 }6 o' T) b* F
2 J5 _$ \9 d' ?6 ~9 q# X短网址后端效果图相对原版颜值高了不少。! ^, C' w) z/ M. h, Z4 z
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|