|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
$ ]+ E3 h, k) n/ {经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
* w8 v: D3 k' C/ A# B, [" o本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。0 Z' n; Z e3 Q. h0 I
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
( x1 F1 n! G% f8 c/ W( n
4 G* u5 o3 C/ }* x% m, p/ e. i* J
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:" n) l0 N4 p* o1 E3 B- R
# Debian/Ubuntu系统安装PHP 7.4) c8 Y3 X0 c& B0 i
apt install -y lsb-release gnupg2
3 P2 I3 Q) [7 U* twget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
8 S$ }+ ~" L$ Q& w4 v; S6 L& Yecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
4 c+ o# x5 t( h7 K/ t( Yapt update
( \! D4 L' |- G) m2 lapt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \: g6 l! a$ H. ?3 h; w9 D2 ]. s* f
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick: S; d7 M" p1 y0 ^ o
update-alternatives --set php /usr/bin/php7.4& L/ K3 d& Y+ c; F# c+ P
# 启动PHP-FPM
/ o0 g2 N) @5 d$ _systemctl start php7.4-fpm
& w5 e6 U" `, d" |8 |接着安装Mysql(MariaDB):1 Y* V, N* m C! k# A- m
# Debian/Ubuntu安装Mariadb `6 D# K/ p* h2 R
apt install -y mariadb-server
- Q7 {- D( I- \! D y0 V#CentOS安装Mariadb# P3 l9 x; ]9 C8 B1 A* R" q L& a
yum install -y mariadb-server
8 S+ {4 i7 A8 jsystemctl enable mariadb
$ A# l% Y5 h3 h, |6 T#启动Mariadb: F; [, C' j+ b3 O( H
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:! w1 ^9 H1 S0 T1 {& y
#CentOS系统安装Nginx
7 P0 H+ X8 F2 h7 Nyum install -y nginx
+ i: o# x) Q$ ]3 n8 P/ [systemctl enable nginx
" K8 t+ Q2 G. M4 t' \1 s/ |/ V#Debian/Ubuntu安装Nginx5 Q; S# l* o. y* O" [9 p* t
apt install -y nginx/ B$ i* M G7 i$ ]
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。4 d2 Y# `4 T" l, O+ q% x. a, ?8 c% D2 n
部署YOURLS返回目录部署YOURLS的步骤如下:9 a0 w+ b) f: R: |" m S1 A& Q
1. 创建YOURLS的数据库用户名和数据库:* V4 n' A' O* K
# 进入数据库0 o& Q2 H' v) ?1 C) P$ d$ S8 B
mysql
( B$ w0 J9 E6 M2 p# 创建用户名,用户名和密码改成你自己的
9 J, g/ J' _8 P1 _CREATE USER 用户名@'%' IDENTIFIED BY '密码';
6 D7 ~. ^; D* h2 \. ] E8 _( Q( V# 创建数据库,数据库名字改成你自己的# m# r% S5 p2 f) l( h$ C9 P
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;& m5 g9 i8 X1 F2 Z+ s9 {9 o
# 赋予权限, u( s/ Y/ S) o8 I6 {/ _3 Q8 r
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
5 j" G- d& h% h4 t# 刷新权限
; r( p! r/ g: A7 S* kFLUSH PRIVILEGES;2. 下载和安装YOURLS:
- y& ]4 l8 ]: {' E1 Q2 Ymkdir -p /var/www7 g' U$ i) k) a. Q6 y! m# c: f
cd /var/www/* [$ `+ ?2 F% r! r1 ]9 }: t" D1 M
wget https://github.com/YOURLS/YOURLS/archive/master.zip
( _! h7 \7 A$ Gunzip master.zip
3 a `* b- \* }: L: W2 kmv YOURLS-master YOURLS
7 ]* c, R- D6 K4 n# 修改网站目录权限6 B6 u& k4 A2 R# K1 G, m
# Ubuntu/Debian系统
) C1 M& b5 g! _+ H. d Zchown -R www-data:www-data YOURLS+ m' F5 B1 m$ v
# CentOS1 {! [0 q; |; `7 S' e; U# b
chown -R apache:apache YOURLS/ A! A) O z/ ]
cd YOURLS- {# s6 X- X' _1 V* J! ~
cp user/config-sample.php user/config.php; y2 j2 X3 _& C* ?" z G
cp sample-public-front-page.txt index.php5 h5 F U; G2 R7 _7 m. d# h7 @
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
3 x" `" i, |" U( v$ R- ]$ |define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
# Q& N; m9 C" J9 ~- udefine( 'YOURLS_DB_PASS', '填写数据库密码' );& E. i! a/ q( G9 Z8 q$ Y
define( 'YOURLS_DB_NAME', '填写数据库名字' );
) K7 b2 ^8 r* e4 ~& C# 这两行基本不用改7 N) O3 A- b0 ]4 l
define( 'YOURLS_DB_HOST', 'localhost' );
8 ?6 L9 B2 E0 l& W7 k/ ~$ Xdefine( 'YOURLS_DB_PREFIX', 'yourls_' );
, S) ]# B9 n$ t! B8 V+ l" ?# 填写你的域名,不要加www形式& \5 \) S3 Q Q; _
define( 'YOURLS_SITE', 'http://你的域名' );
/ B% W) @& _5 \- x& [: d: }. d# 填写时区,国内是8
0 p* `- z. U( b- F$ _$ g, T( B, Gdefine( 'YOURLS_HOURS_OFFSET', 8 );
9 _; n S' z1 Z; ?* g# 设置为中文
2 \$ v2 Z" C8 w9 L* \7 O; udefine( 'YOURLS_LANG', 'zh_CN' );
( o& ]. Y, [ r1 H S3 n4 l9 Z( F8 G/** Allow multiple short URLs for a same long URL# M$ a) ]% ^( `$ Y0 \0 R/ q( v. K
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
e3 R4 z" c& b. _: C ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */! T# E$ g( E) ^' u
define( 'YOURLS_UNIQUE_URLS', false );
: H! u% F' N7 \6 p5 g$ \' Z# 设置私有权限
4 q4 Y; R4 _& S( _7 `define( 'YOURLS_PRIVATE', true );6 H9 q! ]3 _" I6 Y
# U% ]3 T; ~+ T- \; V+ n* Tdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );$ E) C" Q$ ]& ]& {& T4 b5 C( l# g
# 后台登录用户名和密码,一行设置一个,请务必修改$ N$ l; |. r2 S
$yourls_user_passwords = array(9 T. p0 D! U V5 w) t
'用户名1' => '密码1',. q- M) M0 }- G' k* I0 ~
// 'username2' => 'password2',% x$ Z4 s9 o4 [; {# N2 {/ S" k( e
// You can have one or more 'login'=>'password' lines
/ h. j5 K% e1 S2 \' I4 m# A );/ `4 e: e$ a- }) }& }; P
/** Debug mode to output some internal information
. l. n0 i% @( P% N6 k5 ]0 Z6 ] ** Default is false for live site. Enable when coding or before submitting a new issue */
1 h* N) h; L+ S% u, S# z$ `& Cdefine( 'YOURLS_DEBUG', false );" }3 t+ G3 [% F0 w; a. H
# 网址中允许大些字母填62,否则填36
. S2 E9 Q1 I; s1 Odefine( 'YOURLS_URL_CONVERT', 62 );
. \1 G" D" o; `* s/*
% i% o1 \# V9 c * 36: generates all lowercase keywords (ie: 13jkm)+ q9 |9 W. e, A3 J; D+ O) a$ I
* 62: generates mixed case keywords (ie: 13jKm or 13JKm)4 P6 f% }7 `0 B3 X2 q
* Stick to one setting. It's best not to change after you've started creating links.
7 s8 y; p; ~$ \. ~; P4 E7 e* P */
" I- t9 C* N. ?8 j9 r6 G# 保留的关键字,可自己添加
* Y ]/ ^: |$ }# c0 a. \1 y3 Z. F [$yourls_reserved_URL = array(0 ^4 \* ?+ i- Z$ r6 x0 Z
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',' P7 { l; Y) V0 Q6 A- I
);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。: E; |# ^) y0 L6 V* H3 H
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
9 S" T6 t. m& q* W& N' M: _% ^! zserver {
3 J' A0 f# @! t6 g! K1 f listen 80;" C; e$ k. p5 z, j' f+ F, _
server_name 你的域名;. F; g# t* R3 E$ F, J& Q0 Z6 W+ c
charset utf-8;
: }0 L; E5 K# }# p8 ]9 Q4 {/ B3 ?* E0 g root "/var/www/YOURLS";
! b* W9 g/ x/ g. q" @5 k3 d# l location / {
& o; S, ~5 R! n6 v, y index index.php index.html;9 G- P; ?7 t) z; w( }/ I
try_files $uri $uri/ /yourls-loader.php$is_args$args;
& n' @* c9 \( \9 { U }
' Q6 J# Z, q% [* ^( Z location ~ ^/\.user\.ini {1 H" W& [4 K) F. Y4 |. L( ?
deny all;
$ f& J. E3 g7 ~9 l1 O- B6 F }8 c% ]4 j f! L% u8 e
location ~ \.php$ {
$ v6 X8 K& K' V; f try_files $uri =404;* D( f3 K, Y& \4 H& F
fastcgi_index index.php;
* y C7 V( E! @ # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;1 ]& Y8 `7 W9 z- \/ v5 ]
fastcgi_pass unix:/run/php/php7.4-fpm.sock;, }4 L, j$ h% u+ ]9 c
include fastcgi_params;1 ^9 G; @, H# U) f
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
4 A3 S4 b$ I# m$ a& U* D$ K8 y }& D$ ^* ~) J1 p1 O3 W1 V, `
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" X4 u4 D0 @' c expires max;8 f7 K- N& h: D! a
access_log off;
: r" i e5 s% I6 c1 N try_files $uri =404;# t3 ^, F$ o7 m; [+ c# ^# a
}
5 ?( |* ~) L3 V3 t& r! v4 ~, E}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书) |7 M) Y5 M( V) ]$ Z3 h0 |/ d
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。' q+ ?; Q" }. a: O
浏览器打开你的域名,配置正确的话应该能看到类似如下截图: B( A4 E$ p1 a/ E
+ D* N! |+ ?4 f" C+ R) z' g2 z# ^0 r: m
4 Z! L, \+ l: k0 ?3 q( h
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。2 D7 K) V/ i1 R3 d
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。8 L9 d" g) `9 N5 |( y7 R& D
首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件: w/ Q! W3 ^7 i4 `! `
v; A# V9 |7 @% F0 X5 g" w$ Z
3 r+ k" n r/ F9 @ G, j
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
$ X2 Y0 I5 R ?6 C' ^推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。; U4 _. t2 W8 T$ }
YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。' V# O& o0 S9 y; l- o) f; ~
最终网站前端效果图:+ k. x$ E& ^8 s2 u. A/ _: s) [
1 ]% V6 k6 H2 P+ ?4 }4 w! L
: [* N3 N+ [7 n4 f短网址前端效果图后端效果图:9 v% f! w Y y. F: H7 f
0 [% p7 V; t1 v1 P5 W7 ]
* M9 P4 f4 ^$ T* y+ A2 c7 g
短网址后端效果图相对原版颜值高了不少。/ z8 y3 @ C4 S$ Q/ F2 m$ ~
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|