|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。3 Y: {, D5 L( M4 _
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
! q" z7 ~, l X- R; b/ E: B* Y本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
* b) `. c; D4 y- r5 }* ]8 ^ 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
4 m+ Y! @/ A$ w% k: ]) u. P$ a' h% `5 F* i. N; v
' j" F7 I' J3 Z1 f" N/ F域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:& a7 c' \/ d7 U- D( T* z3 h$ W
# Debian/Ubuntu系统安装PHP 7.4
/ S: g Z" E: o0 m6 O1 \3 Z- L& B# m2 Napt install -y lsb-release gnupg2
4 q: j! d" o5 Q3 D+ Z1 S& Y1 w; z, swget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
2 p$ W4 d) h+ ^3 m3 \/ {' recho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list% L. G9 ]7 ]# G9 o2 f8 d
apt update" I# h; N# v+ m3 ~, U2 B
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \( x7 C. c- J9 w- n4 r4 J4 A
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick8 i5 c3 X( R% s8 e1 t" c( j
update-alternatives --set php /usr/bin/php7.4
* E% A- s) I+ ?* U( B* h0 L( Z5 W3 m# 启动PHP-FPM/ _+ Y/ v! a a0 x+ |8 K5 Y* M
systemctl start php7.4-fpm
+ P i9 f6 r2 a6 _, Z: K接着安装Mysql(MariaDB):1 I' L' G& v/ @0 K8 \" Z. W X2 u+ S
# Debian/Ubuntu安装Mariadb) M9 z# R/ R1 D& y. m
apt install -y mariadb-server# p h6 K3 Z; c$ J) O5 F
#CentOS安装Mariadb
& Y/ G% V5 O2 M. [& Xyum install -y mariadb-server# j. h6 g A% ?( @4 r
systemctl enable mariadb0 F1 |# U4 Q& n& |# H. l1 R7 ?1 R
#启动Mariadb
" c! [. |+ K3 X( _6 ^0 d9 x- wsystemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:( z9 C+ v) o) ~
#CentOS系统安装Nginx
$ h- c& Y2 M+ A- qyum install -y nginx# I( s0 o( v; r3 ?
systemctl enable nginx
4 _' D& B4 J3 p#Debian/Ubuntu安装Nginx4 U# }6 j( q$ Y1 _
apt install -y nginx9 ]% E7 l3 Z4 M7 j0 J4 I9 W
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
Z) x5 J, N+ T% K5 w2 Z 部署YOURLS返回目录部署YOURLS的步骤如下:
8 C& S9 f+ H: d1. 创建YOURLS的数据库用户名和数据库:1 g' n# r# ]( k5 K2 q; d6 z4 L
# 进入数据库6 a3 J$ V3 C; o4 x; Q1 d. F$ d
mysql/ Q8 u+ O9 Y+ |
# 创建用户名,用户名和密码改成你自己的8 ^! i$ o5 Y' T' W/ W! y
CREATE USER 用户名@'%' IDENTIFIED BY '密码';% p. P7 u7 q( E ]& b) O0 |
# 创建数据库,数据库名字改成你自己的4 d9 `! V$ N7 C6 G g v
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
2 I g) Y$ }; K4 }+ @* f# 赋予权限
$ w/ ]/ k) F! [8 Z; HGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
8 v. w' i5 \/ c) D# 刷新权限
# b' r& f3 ?+ ~+ g' KFLUSH PRIVILEGES;2. 下载和安装YOURLS:% H6 Q; X+ e- R/ N
mkdir -p /var/www0 M4 ~2 `$ l/ c4 j: F+ X; I; |4 c
cd /var/www/
; w2 X8 W8 n# R& u& W8 _9 Z* r8 y! Kwget https://github.com/YOURLS/YOURLS/archive/master.zip( Z. S! b8 L' U$ S
unzip master.zip
4 G$ \3 h5 ], `" k" qmv YOURLS-master YOURLS
! N. ]) G; c' D* c# 修改网站目录权限
) }0 m+ _4 N3 I2 Q# Ubuntu/Debian系统; J. e: K' l8 I* d
chown -R www-data:www-data YOURLS
3 ? W" k$ P k) V* `# CentOS
; N/ e2 r" V/ p0 r* P/ P# P% Ichown -R apache:apache YOURLS% L: }7 X! V) M' n/ ~
cd YOURLS- K! ^9 \9 P2 _+ S( ? S; u5 ?! m/ l
cp user/config-sample.php user/config.php3 k% K% l. G2 b7 f3 v4 c1 p: [
cp sample-public-front-page.txt index.php
# r+ R9 y1 O: i* v7 ocp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:% k. r: B& @# ~3 M1 l
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
" p R/ a9 Q( v0 _: w hdefine( 'YOURLS_DB_PASS', '填写数据库密码' );# A" ~" u: g G @! Y1 [
define( 'YOURLS_DB_NAME', '填写数据库名字' );
6 u$ q- }- ` ?4 r1 b- a( O1 S# 这两行基本不用改
$ U, F1 x$ E, E* [' Sdefine( 'YOURLS_DB_HOST', 'localhost' );* D2 n& ^: m' I% g x$ F* D
define( 'YOURLS_DB_PREFIX', 'yourls_' );8 I- n: n% S4 c- r
# 填写你的域名,不要加www形式; X% g5 \9 l! ]! M" u
define( 'YOURLS_SITE', 'http://你的域名' );; m2 g) |4 S* a6 t1 _. v1 S
# 填写时区,国内是8
& ?! k9 r& Z1 d% n' e' R1 K0 H+ a$ ~define( 'YOURLS_HOURS_OFFSET', 8 );
. B% g! E' J6 l: }0 B+ v5 Z# 设置为中文
3 k$ E6 b& J) h9 d' q# X5 E4 H0 Ndefine( 'YOURLS_LANG', 'zh_CN' );
# ~& L% z" x2 i. v$ G/** Allow multiple short URLs for a same long URL
' R, {+ p O. O( ?3 r ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)% I( F& O6 H' E6 q ~7 o Q8 `, u; b8 ~
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
; @. E9 O9 P4 U/ |/ s) R _7 Ddefine( 'YOURLS_UNIQUE_URLS', false );; {& H+ L3 [) h M
# 设置私有权限2 J! C- |! u1 P7 B
define( 'YOURLS_PRIVATE', true );. L. ] _ m5 i; Z/ E3 ~, ~' ?, k
4 j* c# ^" @$ q: A3 B. B! d
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );0 [. B+ K( \+ f# g4 V# ^$ ^
# 后台登录用户名和密码,一行设置一个,请务必修改4 O5 ]! J) S. X- ~
$yourls_user_passwords = array(
8 o, Z( G9 \! i7 _8 \ '用户名1' => '密码1',/ k7 o3 p, l6 T8 S& A; g9 s- @
// 'username2' => 'password2',$ F9 g W* Y0 X( D! F. B
// You can have one or more 'login'=>'password' lines6 ?$ \% b4 R/ o9 z8 D
);
6 i2 O4 b) L% O7 U/** Debug mode to output some internal information6 q* ?9 @( p6 j. q& M
** Default is false for live site. Enable when coding or before submitting a new issue */0 d7 V! K- p* u, L
define( 'YOURLS_DEBUG', false );
* d: {- a; R0 @ w2 ]8 a# 网址中允许大些字母填62,否则填36
, R" T8 p- M! p* \$ y" l0 {define( 'YOURLS_URL_CONVERT', 62 );2 Q8 [# T$ u: e H& S \
/*) D- G4 N" t2 O. f; b
* 36: generates all lowercase keywords (ie: 13jkm)9 _/ b& |3 Y+ f- b- U
* 62: generates mixed case keywords (ie: 13jKm or 13JKm)
! D2 O' L j7 v0 _+ q; h * Stick to one setting. It's best not to change after you've started creating links.
7 S0 y% d1 E, e1 i *// h4 R) h' v8 h s5 A9 Y6 f2 {
# 保留的关键字,可自己添加0 L7 L! m3 i4 H% Y" p8 c& s. m
$yourls_reserved_URL = array(
; N* x* |, V$ l6 [' C 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',( t( V ^; l) B# A x1 D1 w
);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。: b+ `+ ]& E, {* z& C) k3 Y
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容6 t, I0 w6 Y+ i" b# R/ v- w! S
server {
4 B, ? g) F$ [ listen 80;! k5 g9 P! ~+ F* { j/ V
server_name 你的域名;
+ _ k1 D! j( E% x* U/ c. w charset utf-8;9 T" y0 {5 n7 r/ Q
root "/var/www/YOURLS";
1 E+ L7 F3 z) n/ o% I" i# X location / {4 R9 _3 S( W1 L
index index.php index.html;+ O) V9 H( Q0 [6 G; L
try_files $uri $uri/ /yourls-loader.php$is_args$args;
2 J" d4 P9 [0 B. }' K$ o6 a }
0 O" l; P% {' b location ~ ^/\.user\.ini {
4 D- i6 b+ h$ Q) N6 \$ \ deny all;: B3 R3 \. P& s/ P+ v- f
}
& M$ ~% u% C9 s4 J' z ^ W location ~ \.php$ {* C6 ^5 K7 Q) @+ K$ t& t
try_files $uri =404;
) y1 t( o, _9 Z$ ^ fastcgi_index index.php;
, d, [! B, K2 U # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;& o2 B, |. k! y8 i/ T7 C
fastcgi_pass unix:/run/php/php7.4-fpm.sock;" Y4 A+ N" l) A! u% X: _0 b; @
include fastcgi_params;9 h+ K. d7 D4 @7 i) X7 m q
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;! @+ ^ V) j- ^/ ^( u/ i
}
) H" |/ e/ ^4 K3 W/ d, e u; { location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
$ b1 B+ p. a; g! ?$ j expires max;: M( U& ~. Y" P" ~
access_log off;
% W& O" L" [7 Z; G try_files $uri =404;% H2 q; c- j& O8 T7 w: w3 `7 N! r3 G
}4 G; b* }9 }- {' O% @3 \# `: [' U
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书4 v B1 |( d6 T" l$ @, G
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
' E+ {& u: f, ?: M8 w" e浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
6 f$ Z5 f# ~7 N" o: S9 a. i5 u) v, j A N- A- L3 u- a
8 z, K2 ^% R4 u8 D/ H1 l* o$ w! F
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
; q# d$ U$ e6 t. e2 X* Z2 Q8 @ 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
% s9 c: f+ \/ ?; j9 W首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
6 D: L$ D! _, {3 b* ^+ j
5 Y+ x; y) B! U4 x4 o2 K5 C
: ^8 P$ ~! R ?3 |* ]YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
7 A9 O+ a+ q. a3 p+ a) m' K推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。- a# r1 E8 @' c8 w
YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
9 D- r# n' L1 y Q# [最终网站前端效果图:: z, c. Q! t& z3 W
1 A' O" c) Z) ~; Z4 s
8 X4 ^0 n6 h. C8 H8 U短网址前端效果图后端效果图:
& O$ C8 {8 G2 j p W$ l# `1 ]" T$ e1 m' M3 o8 u+ ~
) X- a: m& ]) s
短网址后端效果图相对原版颜值高了不少。+ |, N8 k0 }6 P: e
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|