|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。8 p; ^7 Z, l6 ^3 U3 g0 d, H4 Z
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。3 V$ n! @1 R1 J( L
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。1 p% H% N/ D3 q# c
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。+ e! }9 M: J- R" O0 m
" k3 D0 t8 p( d" G2 J3 b
9 K c f5 s2 ^$ e域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:* [( M- X6 ]7 w! H: s
# Debian/Ubuntu系统安装PHP 7.4
0 h9 c* m7 g, Y; P- `( w. }apt install -y lsb-release gnupg2
4 s* K5 R q/ l; Bwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
: m( x z' z7 D8 M2 becho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list+ l* a( t8 V7 _# Q$ I4 A
apt update
/ B3 D' w* ~* kapt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
2 q9 _# v* ]0 v9 F2 s: F php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick1 r9 x: O/ k! G& e% Y, [6 d( m- f
update-alternatives --set php /usr/bin/php7.4
8 _6 a) H( d: l$ y$ L# 启动PHP-FPM
+ |1 ~/ s+ E* q# y& I9 ?systemctl start php7.4-fpm
4 x( s, A8 }5 F& W; i9 r接着安装Mysql(MariaDB):
% s! H$ z' N, ?' s9 g# Debian/Ubuntu安装Mariadb# O9 U- Z* F& c( p4 K* D+ j" }
apt install -y mariadb-server/ @ U- C( ?. k5 T. j+ a8 s
#CentOS安装Mariadb
# F. x4 o9 Z0 D3 g, hyum install -y mariadb-server" f; d! i+ X M8 R4 X. y
systemctl enable mariadb
5 E$ C/ r7 D) J- J#启动Mariadb
1 {' Z) a. ]. C: R0 hsystemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
/ g2 p: @) ]4 e4 ?# `* z$ U1 n9 C% G#CentOS系统安装Nginx
* T3 ?4 m4 |3 { Ryum install -y nginx. M" c3 F8 t' C, P" n' p% t+ `
systemctl enable nginx; {& p7 X& e! Y) l8 p% `2 r" F
#Debian/Ubuntu安装Nginx5 f* m+ ]2 |# Q, `0 T
apt install -y nginx
! u& ^: ]$ f0 L3 j7 ^, f安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。; f+ s3 F- _6 M% y* }
部署YOURLS返回目录部署YOURLS的步骤如下:
* [. Q2 E% U. r8 B1. 创建YOURLS的数据库用户名和数据库:
" _: Z' `$ p+ U" N# 进入数据库4 E; D9 _1 ]4 {, k R
mysql
, P" g3 _' y& I' G+ O, i# 创建用户名,用户名和密码改成你自己的
9 G$ a1 g: u8 N* e( ?CREATE USER 用户名@'%' IDENTIFIED BY '密码';
8 P+ b, I2 ? t! E# 创建数据库,数据库名字改成你自己的$ O3 u! V: F: E. m7 y% D
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
: i" F- A: z" P3 s* M# 赋予权限
& y% v/ @& U; |3 [. W: b1 zGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
6 K6 ~/ V, _9 e8 d) b: T" O# 刷新权限
$ L2 |, I# R, w' G" P! IFLUSH PRIVILEGES;2. 下载和安装YOURLS:
0 P4 h [" p8 D6 X0 o9 F# ]mkdir -p /var/www% S' F# o5 c* h# [" Q* n( d' e
cd /var/www/: k% @1 s: f& F9 {
wget https://github.com/YOURLS/YOURLS/archive/master.zip
! ^+ l) V# a* kunzip master.zip7 Z; P5 ?3 q& F9 u$ B' _
mv YOURLS-master YOURLS4 S# q9 R% `% Z. |
# 修改网站目录权限
+ i9 j! v w9 L1 Y# Ubuntu/Debian系统) |: O7 X6 `1 e$ g Q' \6 y
chown -R www-data:www-data YOURLS) v: v% T5 G; _ C
# CentOS9 L |; [9 K4 C9 K5 g+ r+ a! J/ g
chown -R apache:apache YOURLS" U) n6 z% B9 u, F+ B6 L" U" p
cd YOURLS
4 F- @( \1 @! M4 v2 s6 `" J2 acp user/config-sample.php user/config.php
; @3 R* X4 {$ Q3 ]; f) o6 ?cp sample-public-front-page.txt index.php- s) j6 t6 D) X
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
; Y* g( G% f2 O" ?$ f8 Ndefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );
. q2 q7 H, s. C: l9 Ldefine( 'YOURLS_DB_PASS', '填写数据库密码' );
. B3 h' ~- c9 m! e( Jdefine( 'YOURLS_DB_NAME', '填写数据库名字' ); \8 l+ x: D0 K3 q5 _
# 这两行基本不用改
L4 R1 K' @6 Z0 }! A9 G/ ^ X+ \/ f5 pdefine( 'YOURLS_DB_HOST', 'localhost' );
2 G- Y) V" e* O, Adefine( 'YOURLS_DB_PREFIX', 'yourls_' );
% [, E% r' _( R9 }" C: H: c# 填写你的域名,不要加www形式
/ y8 g' [& c+ o! A& c3 vdefine( 'YOURLS_SITE', 'http://你的域名' );
4 v( R& ~. e' t5 c- N# 填写时区,国内是8
0 G; |6 _, ^3 P+ D( _define( 'YOURLS_HOURS_OFFSET', 8 );
8 q$ T- f* o g4 R. R& n# 设置为中文5 W. T' X) }+ N- L
define( 'YOURLS_LANG', 'zh_CN' );" j% i8 s# \' z6 ?' F
/** Allow multiple short URLs for a same long URL+ i5 k' j: p4 b0 ]9 ?% Y; Z
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
* b6 s& n$ B# [- X ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */7 k! n9 O4 O; Q. K( N7 p
define( 'YOURLS_UNIQUE_URLS', false );+ {/ B+ J3 ~/ a# v
# 设置私有权限
9 H+ d" j) e% }* _7 Kdefine( 'YOURLS_PRIVATE', true );4 [: U6 X% K6 Q' b9 K7 {
8 ~; `, n/ S/ ~3 n! r- E* d) p
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
7 m+ i- K! i/ N$ G4 [1 z# 后台登录用户名和密码,一行设置一个,请务必修改5 `+ g9 c7 U8 q9 h+ |4 b4 V' }4 ]) U
$yourls_user_passwords = array(
( N( `' X8 ?: a6 n" l. X2 s' o '用户名1' => '密码1',& ^" d$ s# T1 T# P4 N; z, J* \
// 'username2' => 'password2',! s3 z' x. e$ J1 @
// You can have one or more 'login'=>'password' lines+ V. i# [+ b0 D. v" P0 }9 Y) [% h
);/ B5 ~7 m7 r% j$ M7 z! q' ?+ ]# _
/** Debug mode to output some internal information
* f/ D9 [" a2 X" H) R7 X8 b6 h3 N ** Default is false for live site. Enable when coding or before submitting a new issue */5 d8 ]$ D1 z) Y: G+ ` U
define( 'YOURLS_DEBUG', false ); [- Z/ z( D- K* w4 I. ~
# 网址中允许大些字母填62,否则填36
# y' }6 ?3 o% q+ }8 j7 K" c) Sdefine( 'YOURLS_URL_CONVERT', 62 );
$ w( }! o# x/ m# E- Q3 Y8 [* L/*& _7 r0 w% N& \0 m2 I/ f1 h3 Y; N7 j
* 36: generates all lowercase keywords (ie: 13jkm)
2 x% x+ W1 Y0 D6 L: G5 a * 62: generates mixed case keywords (ie: 13jKm or 13JKm)* Q8 r( \4 L7 ]8 e% f) C
* Stick to one setting. It's best not to change after you've started creating links.
' }+ i. v* r d5 A0 m2 V */
& W: G# w: ^5 T: V1 h" p2 [# 保留的关键字,可自己添加
/ n H. `) {5 E; ^; e$yourls_reserved_URL = array(" P9 P- ~2 m! |( b7 X+ F
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
9 z+ J, l7 I$ |7 G);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。2 J& H1 W/ m" U- Z- C9 U
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
5 y0 g" ^9 Z' Kserver {
0 l+ W# G& T- c listen 80;& a% e& L6 y% K0 s, N
server_name 你的域名;" g, Z! t5 J' I; N) t( Z
charset utf-8;
- B6 B& N. J) J7 W root "/var/www/YOURLS";
m9 C' e: A5 x8 U2 x4 s7 L location / {# |4 ?4 b1 {/ i' }) O
index index.php index.html;
) N, H0 K6 |; {( R6 T try_files $uri $uri/ /yourls-loader.php$is_args$args;
# {8 p$ S& L( j1 j0 K }
9 j8 S0 ^3 F7 R% o location ~ ^/\.user\.ini {
* P0 W& H2 H B; g8 v d/ m- r8 s deny all;
5 C m* Y8 |* i# q& E1 y: G }2 ]; ~0 z5 c5 X: j$ x1 D
location ~ \.php$ {9 F$ c& K7 v( Q+ d% y
try_files $uri =404;
. b9 B& x0 I8 n x fastcgi_index index.php;" q0 C$ A9 l% Q. e7 M, o9 s- n
# CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;! u! Z; n- }' Q0 `( _" g
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
1 J- S, g. x- }* |7 y4 c include fastcgi_params;# }3 e0 A; N$ }) n1 A# v
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- l7 H) x* I, z$ X% [2 S0 v2 n }0 l& x0 O6 T4 E+ w% }
location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {, N0 ~. l# \" U( A( u# `' p
expires max;* }* @! C: ^) S/ K
access_log off;
' Z1 x W( S8 g) ^- V* ] try_files $uri =404;9 b% q. p% {. B9 L
}
{9 t z% t2 K' q" I4 O}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书7 ?& [$ t5 ^+ a0 A: F( y
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。: w' A0 S! l$ t/ U* F* y. s8 f
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:2 s* _0 A! X! D& S
9 e# J- U$ Y3 k+ \
9 H5 N; j, X" }
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。0 [4 T. [/ `% Z) O
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
; p, V) R) i' r1 n# k0 O. ]首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:6 R/ t7 ]- Y ^$ _
; z7 N6 Q" I; z3 i3 w
3 ]) p' e& T1 x' C! A0 V
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。; e4 b! o; m9 {; y8 E9 O! H1 s
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。5 ?1 R0 P! q8 z& a
YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。7 M# h1 N/ y2 R9 t. `
最终网站前端效果图:
7 [9 V% J% L8 \' M; N+ U) g+ x7 n* f% [9 r! I% D8 }
8 R: a; J( s! _) p' [
短网址前端效果图后端效果图:5 B6 H9 G5 t$ g' g! K$ Q
) f( {% d4 R- o/ d( a
. V9 M `6 J: z4 c0 }; N) Q( \短网址后端效果图相对原版颜值高了不少。7 C8 K& m' Y1 P W
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|