|
|
发表于 2022-9-11 21:04:53
|
查看: 1174 |
回复: 0
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。6 c0 P5 j2 Z; h4 |4 @% j
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
& c/ @& `8 V% U- ]本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
" E1 q J& v9 ^7 |# b" a' T 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。, ^& N7 |1 |" L5 `1 k' ], X/ D
! m7 @; G- t1 m) t+ O% {
' N9 v( a& e; h3 C$ r
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:8 `& I& h9 P/ J
# Debian/Ubuntu系统安装PHP 7.4, D& _' P! a" z: e
apt install -y lsb-release gnupg2, }' k( P$ h5 U
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -0 R& ?4 P$ `, f
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
3 Z3 \1 q: H% n. Y8 tapt update1 Q7 Z7 h$ a- K3 I) z
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
9 f( L3 Z2 U" M0 h* x6 ^' m php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick! ?3 F8 t1 r& Z4 J
update-alternatives --set php /usr/bin/php7.4" D) y, T7 u5 ?/ y6 \
# 启动PHP-FPM$ d1 \6 l* V" Q6 N
systemctl start php7.4-fpm
7 V* n! J' B0 T( z接着安装Mysql(MariaDB):9 `; A2 N2 H! C$ r
# Debian/Ubuntu安装Mariadb
1 p% M) D! @$ Rapt install -y mariadb-server
0 t6 G& i7 z$ w) c7 r#CentOS安装Mariadb
' h9 d/ G1 B) q! I% P; Syum install -y mariadb-server
( b9 r/ U- H* r0 _5 t B8 W Isystemctl enable mariadb
3 C* s$ k: i" O) j" c6 ^#启动Mariadb/ v& [4 v; i4 A, a
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
3 p. \+ s0 _: F1 x( u+ V# i' y8 Y$ F#CentOS系统安装Nginx
6 Q% k3 f) `- c& z( V2 y5 u1 hyum install -y nginx
, F: \5 A V3 D! Tsystemctl enable nginx
; H6 y: q: n T0 h% T3 O7 o' h! ~9 r#Debian/Ubuntu安装Nginx6 k4 Z) t- {$ g; i$ O9 B2 |
apt install -y nginx
/ w( y) t. _. T: R6 v安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。3 h1 ]+ B% O( ]. i# m6 \
部署YOURLS返回目录部署YOURLS的步骤如下:- W5 k! h- x6 b; A7 G
1. 创建YOURLS的数据库用户名和数据库:
$ t4 w6 S1 O+ h4 A# D1 J# 进入数据库9 V7 s) R) M7 f7 V0 M
mysql7 k: x+ e q4 M" B+ c2 ~! p
# 创建用户名,用户名和密码改成你自己的0 V: N9 w0 U* `& W: N4 {
CREATE USER 用户名@'%' IDENTIFIED BY '密码';& {! j0 ^; N8 x2 E( J: _3 d
# 创建数据库,数据库名字改成你自己的
, d7 A3 p2 x# zCREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;1 B2 R3 t- L! z' h- S$ o; L
# 赋予权限6 J5 ^! j8 f% c( O9 e6 A
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
C3 `3 F( A4 d. B# 刷新权限
* g1 f& E* a2 I) GFLUSH PRIVILEGES;2. 下载和安装YOURLS:
* W% H/ I ]8 f; Omkdir -p /var/www5 J; G4 L g) a9 N/ y
cd /var/www/
& ^% t: O; j8 E8 Zwget https://github.com/YOURLS/YOURLS/archive/master.zip% m/ y/ U% E. J7 j
unzip master.zip- t7 v/ q, d" H4 n; b7 [- W3 f0 s
mv YOURLS-master YOURLS3 L& ?/ V: ^9 B, h5 }$ T& \
# 修改网站目录权限
0 { P/ G- Y. N# Ubuntu/Debian系统. R* C; u2 ?* Q( b
chown -R www-data:www-data YOURLS
* y' M. R0 E; t) B& I# CentOS4 {6 V0 [7 p% S
chown -R apache:apache YOURLS8 I; P# ], U+ D5 H" D. p
cd YOURLS# L* _, r- g3 ~4 ]' {
cp user/config-sample.php user/config.php
; d, Y7 S1 E) L wcp sample-public-front-page.txt index.php, T7 S* `! _3 ~
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
# q1 [5 h: f! Mdefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );
7 Y4 n0 M( A5 C T* ~0 B9 H. c. r- Hdefine( 'YOURLS_DB_PASS', '填写数据库密码' );
9 h& V! Q3 F' [. b* x8 I, z8 wdefine( 'YOURLS_DB_NAME', '填写数据库名字' );
2 r4 {7 ~% z" @' T' y/ C# 这两行基本不用改
9 F' u) K9 E! r- s0 m9 f5 vdefine( 'YOURLS_DB_HOST', 'localhost' );3 O/ t; U" P- m9 f g! Q, i. S: y
define( 'YOURLS_DB_PREFIX', 'yourls_' );1 D3 }- N8 T% r6 c* a
# 填写你的域名,不要加www形式
) c0 S K" W- s: D* B- u3 C# fdefine( 'YOURLS_SITE', 'http://你的域名' );7 ~$ t" _- v, H$ E. v# O# `/ U
# 填写时区,国内是8
: l( f9 O9 G8 E$ l" Udefine( 'YOURLS_HOURS_OFFSET', 8 );4 S0 W4 A! `$ L) S- }0 A0 c: p6 y
# 设置为中文' z( A; o' T4 U
define( 'YOURLS_LANG', 'zh_CN' );" r: U5 N9 U$ v! ?
/** Allow multiple short URLs for a same long URL
# X2 S$ F8 U {% g3 H% b+ ]7 z ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
* w' J9 V" A* Y$ b) O ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */; L: U# Y* ~. g! l- p8 n6 R
define( 'YOURLS_UNIQUE_URLS', false );
& [4 X. Q; P. \4 e0 ]5 B# 设置私有权限
* {: z: o+ t k+ B% Z; o4 c+ kdefine( 'YOURLS_PRIVATE', true );, ~. L. F* q) F" l
c+ _# y6 S; B2 E _
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
- _. U0 U w7 C( g# 后台登录用户名和密码,一行设置一个,请务必修改
T9 e9 S/ N9 `, {* `6 _/ _$yourls_user_passwords = array(; V/ v2 g" n1 ]4 H: p j
'用户名1' => '密码1',3 M$ {) C2 }4 V, M% a
// 'username2' => 'password2',( F" T+ |# q& X; W
// You can have one or more 'login'=>'password' lines
/ y" ]' K7 a2 S$ l/ `& o );
6 ^. K: _6 K% q8 m; D- Y/** Debug mode to output some internal information: j' _9 @& o1 c* W
** Default is false for live site. Enable when coding or before submitting a new issue */
; j* s4 D! q3 m, |# ]define( 'YOURLS_DEBUG', false );8 i: H8 W' l% i+ }* v6 `: i
# 网址中允许大些字母填62,否则填36
1 @( D5 `( L1 H: idefine( 'YOURLS_URL_CONVERT', 62 );6 Y S& q# }& K7 B1 \2 i W3 c
/*
4 {$ _* ^& f0 Q+ ?0 ]. \2 \# ^8 | * 36: generates all lowercase keywords (ie: 13jkm)% s2 L- C( f" w; ^
* 62: generates mixed case keywords (ie: 13jKm or 13JKm)
) g+ v1 k3 E& R6 I- i * Stick to one setting. It's best not to change after you've started creating links.
3 o K4 @. h+ b' y- L3 W0 ^. _ */6 c( D( O% Y! n8 d% s7 j+ @
# 保留的关键字,可自己添加
Y: ~- g3 x& g- A3 [2 W7 D$yourls_reserved_URL = array(" V+ E' _7 w" O4 g1 @
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
- a8 y6 V6 `5 ^0 n3 k);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。- E: s, z9 Z) z
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
9 y# P9 u) A B! P- jserver {
! _: ~5 l& D0 n# y9 @ listen 80;
r' c6 f) q( ~2 q server_name 你的域名;
, D/ v/ G5 Z" x, p! q0 D1 @8 c charset utf-8;
' h- k8 u7 G" x% g/ _ B, H) T root "/var/www/YOURLS";
( {: y. \. O) S* T2 Z' F location / {
7 E4 C6 w- }8 D; G/ v2 r: M6 d2 K/ U index index.php index.html;
9 R0 x2 w. R9 G x; v try_files $uri $uri/ /yourls-loader.php$is_args$args;$ v; r8 J$ q6 h' D8 B. u- |
}
7 N* T/ v) w- u6 P& c7 @* I1 h location ~ ^/\.user\.ini {
8 Y8 J1 U& ]0 B; x& s- | deny all;# W& W6 p) n3 \7 P2 |8 Z7 a
}
; I' F/ }' u4 f- L/ i location ~ \.php$ {
6 B* w0 m, w! s: `* I try_files $uri =404;% Y2 ~) D" g: l3 ]3 t" z y
fastcgi_index index.php;
4 x2 D$ h4 h+ p$ Z9 X7 M$ l # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;; E2 @5 ^0 d4 Z* i& y4 E
fastcgi_pass unix:/run/php/php7.4-fpm.sock;$ y" o: g* `( L
include fastcgi_params;2 b1 W( ~2 j8 Q( ^; M
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;1 _6 \5 F+ x, C% ~3 j4 B M
}
5 y0 P+ V3 l* i% S location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {0 B% y% U! K" `
expires max;
y) h9 t% M" n3 |' m8 U access_log off;
) J/ |/ P* I8 w; t* V try_files $uri =404;( U8 x6 C' J7 t8 d5 \( U
}
( r1 y6 u& Q+ ]# U2 ^}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书( T5 a5 N! w% l7 Y; d D" t
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。9 O2 }' [9 B1 ?
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:8 g9 k3 K2 @, Z' \+ k' W% d
8 V9 Q) W$ A" R' N5 i2 Y" i7 F
$ E8 t* L1 b# k3 u( J/ Y& g
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
# j$ R; x. r5 U$ @( K# D. k 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
8 h4 W9 F x* g+ a$ v, |首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:8 v+ a: D1 l( T' S( [/ W3 k* W
7 J. }" ?5 A- [0 w
" e- b2 e0 t4 U' }
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
- F+ U: d$ B3 u! K& @5 G推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
% ~! p; \4 @2 L6 X2 y, dYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。* J4 P0 u* D# ?0 b
最终网站前端效果图:4 u. W+ u6 ?: @0 z n
3 g- A, r8 ?) B' i- s; D% B# p) y/ Q
( v* b3 Q9 U: F5 n& ]短网址前端效果图后端效果图:
' B2 P0 B" _: E8 o
0 [& C1 J3 _( |7 r. O& C# l p: h3 H6 n1 \$ d
短网址后端效果图相对原版颜值高了不少。
# J& w7 \# C- I- u6 G 参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
|