|
|
发表于 2022-9-11 21:04:53
|
查看: 1173 |
回复: 0
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
; Q9 X- B6 K% z! X. u: n1 r经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
/ J. A2 k* i( h# `7 Y/ ~6 u本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。- g* T8 ^6 g+ L
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。1 W8 u* [( c" n
( l G/ f! h8 T* l! y/ f: V; Q& o$ F1 l5 t" W+ O
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:2 g B' ?( _# S Y# C9 |5 T7 ?
# Debian/Ubuntu系统安装PHP 7.4" n$ Q. U9 w- Q
apt install -y lsb-release gnupg2; R$ y. R; L1 C7 q0 {' H( Q
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
0 Z* w$ U1 g: y( }3 Y$ a2 o% t* vecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
: s0 Q( m, P. _. `+ P( Wapt update
* [8 S0 E1 n/ ?apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \7 W# @6 `5 n8 n% }% W- _2 m$ L
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
4 N* t' V+ z5 ~# Zupdate-alternatives --set php /usr/bin/php7.43 S9 ^9 L) `$ I$ o
# 启动PHP-FPM
1 @0 k; F# j: F' s! {' zsystemctl start php7.4-fpm. c `& F! e7 I0 i0 m
接着安装Mysql(MariaDB):
/ P, \& }( ]; d; Y; T* {1 i# Debian/Ubuntu安装Mariadb7 a( E$ L) l7 n: ]
apt install -y mariadb-server
5 Q3 o4 @4 V/ ^) Q' R- G$ n3 G$ }* R#CentOS安装Mariadb/ S2 S8 \+ b7 K. `' u5 ^; \0 p0 j/ S
yum install -y mariadb-server
" e" f% w& h9 C# D0 _systemctl enable mariadb
" x) g$ l$ y& Q. a# J2 w. @#启动Mariadb
! o z: Y1 G* P0 F' J8 @) z* Zsystemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:* W; o T( a. `5 c# {1 u
#CentOS系统安装Nginx
s9 O; u) U" M/ \* Fyum install -y nginx% N5 Y, Q- z2 I% Z* ~
systemctl enable nginx
. e+ h; Q4 D3 p5 b3 |#Debian/Ubuntu安装Nginx
3 p: g( N3 {$ X2 kapt install -y nginx6 Y* v5 o _; Y2 t. ], }7 B: _
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
+ g, `# X) M) ?9 l 部署YOURLS返回目录部署YOURLS的步骤如下:
; m C+ d2 q4 S; Y# ?1. 创建YOURLS的数据库用户名和数据库:9 @( |) G# p' F# p: S3 {: Q
# 进入数据库# d) I% f/ J' d2 a$ T- m! ^1 g1 i
mysql3 w$ }% \. P4 Q2 S5 i* |
# 创建用户名,用户名和密码改成你自己的
2 Z/ H* y/ k1 CCREATE USER 用户名@'%' IDENTIFIED BY '密码';- d- c4 U% l9 N* e& @
# 创建数据库,数据库名字改成你自己的" `. {+ @: E K
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;; W- E* k" [" d
# 赋予权限2 `3 `$ H- R" u1 r& E
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';: I2 k# V, Q+ H2 Z" _2 T
# 刷新权限& K) y# |/ m m3 [8 t8 K
FLUSH PRIVILEGES;2. 下载和安装YOURLS:/ ]& b& i$ |8 H; {8 U( {3 L7 g
mkdir -p /var/www1 [$ r' r* h6 ]% e3 R* ~4 m
cd /var/www/
2 c" c6 O, O* v h- M# |% Iwget https://github.com/YOURLS/YOURLS/archive/master.zip! P- v4 B. P+ M# `
unzip master.zip
, Z# \* L8 L9 D5 b" G# f8 @mv YOURLS-master YOURLS
( Q8 U5 k w/ x( v2 y0 F# 修改网站目录权限
4 J6 H: h& s* I3 u$ u8 @. u B# Ubuntu/Debian系统) ^$ Y0 N3 @1 |6 Z5 O7 }
chown -R www-data:www-data YOURLS
% |% k; e% F/ ]$ O7 x# CentOS
0 z% R/ f7 r* z5 W5 M# V0 _chown -R apache:apache YOURLS
* B6 R2 A5 g* h/ Y- @4 ccd YOURLS) }# v+ s% ?3 F }/ m ~4 U! f* q
cp user/config-sample.php user/config.php
- U* L: \! ]7 Q3 U0 X. O% Qcp sample-public-front-page.txt index.php
" ?+ v) y- z( X2 C$ U1 Y/ M% }" mcp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:, x3 E. i. I6 L) Z I
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );. T1 E E; u9 ^
define( 'YOURLS_DB_PASS', '填写数据库密码' );$ m3 `6 S2 u$ [) h8 V- o* f
define( 'YOURLS_DB_NAME', '填写数据库名字' );
* v5 n, B4 W6 s$ ~& z0 _- t: Y# 这两行基本不用改
$ u9 c" r+ s: i( K; e' Kdefine( 'YOURLS_DB_HOST', 'localhost' );6 v+ p' z; S% O7 G7 E+ u
define( 'YOURLS_DB_PREFIX', 'yourls_' );
3 _4 s) W$ @; w* G, ^# 填写你的域名,不要加www形式/ E% x ^8 C7 U+ ~# u2 k
define( 'YOURLS_SITE', 'http://你的域名' );# t: K% E; \$ a- ?- Q1 _
# 填写时区,国内是8 k6 |. m5 ?& _, H, w3 n
define( 'YOURLS_HOURS_OFFSET', 8 );
- C0 y+ _ [+ t# c s, u. S& m S# 设置为中文: V! h# M- \' E/ R
define( 'YOURLS_LANG', 'zh_CN' );
K8 c' }4 u1 r3 F: g/ k: S/** Allow multiple short URLs for a same long URL0 _- T$ R2 [3 F3 l0 O- r3 s9 n
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)* m2 T$ I/ U: d* y' ~
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
+ I) ?" f/ d/ i* _# z' e, ldefine( 'YOURLS_UNIQUE_URLS', false );
& R5 i1 X( }7 s1 X+ ~8 z* h8 H% O H; g# 设置私有权限
]6 u$ m: ]) b/ O: ]# Ldefine( 'YOURLS_PRIVATE', true );
k b# {+ t% w5 C* [6 f& X5 g$ S) r! y
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );9 m/ s# P; C- o1 d
# 后台登录用户名和密码,一行设置一个,请务必修改
: y7 O3 _, M0 p. F$yourls_user_passwords = array(! J" ?+ B7 i; i
'用户名1' => '密码1',
4 H9 K4 P' T- V; e3 E // 'username2' => 'password2',
5 d' P' ^7 M# l5 G // You can have one or more 'login'=>'password' lines
3 \3 I0 `6 I. Z3 Y' C );+ H; _/ c" W3 p- m/ i
/** Debug mode to output some internal information
3 b3 G. p4 Y4 V' r) u8 J7 h ** Default is false for live site. Enable when coding or before submitting a new issue */
5 o. X+ F. B# ^/ K, a( a, Z* @( \define( 'YOURLS_DEBUG', false );
) U- Y' U& b3 y5 ~8 {, j8 [# 网址中允许大些字母填62,否则填36
B% G5 ]7 |) `3 adefine( 'YOURLS_URL_CONVERT', 62 );
7 g. P* z3 f3 |0 b% s: w' u Q# p/*1 V: I) Q7 B; b1 Q7 T
* 36: generates all lowercase keywords (ie: 13jkm)
$ g. L4 a# k1 `4 F+ E' i * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
) H- y, [& O1 ?+ E7 U * Stick to one setting. It's best not to change after you've started creating links.& X; c# q! F* K1 n; d$ a- h3 J
*/ N; y" ?- g0 i# f
# 保留的关键字,可自己添加* d+ ?& i7 F' B9 S6 U
$yourls_reserved_URL = array(
* O/ D! [. \/ h 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',$ h, T8 u- P+ d+ h8 x, m X
);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
, C/ f- V- Y, b. W4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
/ P4 ^; [% X% S7 f$ F- H2 fserver {% G7 R2 O, }( b
listen 80;
; r5 F9 S/ s- ^9 j$ t0 t) ] server_name 你的域名;
1 f" \9 d6 p0 Z" A; V( x charset utf-8;
% k, k: }. ?5 _7 p+ L root "/var/www/YOURLS";" Z! `. }' P0 ^- ?* o* } K
location / {- y n. k# |. v
index index.php index.html;& U2 U5 z9 @7 H- W; T5 R2 Y/ f
try_files $uri $uri/ /yourls-loader.php$is_args$args;, e' }3 h2 n4 K+ J3 r) x4 @1 `' @
}
" g1 T% w% `7 b1 M/ i6 @+ m$ d location ~ ^/\.user\.ini {
: C5 X. }0 z6 t deny all;5 k+ z" `9 u4 I: k$ ^
}
% M( {" J) i% l: d/ p- o( d location ~ \.php$ {; r! o f8 Y' W
try_files $uri =404;4 p! X5 I: ?8 n% u. l( ]& f
fastcgi_index index.php;+ F2 U) {- Q5 _8 u6 E3 }
# CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
6 G: M" I: e/ q) ` z fastcgi_pass unix:/run/php/php7.4-fpm.sock;
* n' p) l0 E* T3 ]4 O include fastcgi_params;
8 F' W7 s, v5 J4 P1 u# k, V( Q8 g fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;4 t' J" q; d- u! O2 L: t/ ^/ ^6 z7 P
}
+ K5 d. v- R( d0 q$ D* V m5 C8 B location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
" `/ H0 j) p3 u expires max;
! l6 Z4 t$ |8 l3 c access_log off;6 x, G7 y$ W0 W# O" r8 u
try_files $uri =404;
7 I3 _* q. o+ @3 e. y }
8 n" ^$ Q9 ]! V- J1 Y3 t9 p}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书7 Y' p. D) I, L1 Y* N( {
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。 s, U. P0 z7 q, w# d8 y- |
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
5 M9 q. {, d1 E8 r, z7 l
! `- k# X7 Z- \3 K* [
( E& g+ @- Z& ^9 W5 ^YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。5 Z: Q7 `& Z& V# p
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。" I9 x0 x, c* V" d
首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
9 V2 y9 \4 [3 {! l5 `/ E; f+ q* u+ O2 M/ [
; b2 R# E8 V% G3 U
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
0 `9 z4 |& |1 d/ ?- ?7 u8 R推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
3 |& d. A0 q X5 `YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
9 J$ r4 j' Q' J) V" q }最终网站前端效果图:) i1 k: o% B: H m. O" D
8 a) r, {( u" b+ C4 h' V5 H) p
3 B/ o9 A5 e! X+ _短网址前端效果图后端效果图:7 i% J2 b _7 g6 f
/ p& `! L8 Z9 k. t( q$ n( H
6 r% U: j3 Y4 Q4 Z) l" a }; Y
短网址后端效果图相对原版颜值高了不少。4 _# E& }4 i3 T6 x7 z% m/ I
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
|