|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
' Y! W! L( T# c3 I2 M( b/ I. A: G) b经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
6 S! V, g; U- S1 A! ^本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。4 T3 ?- y" v5 U- V
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
5 |8 o* t w& W$ V6 R* ^6 A- `5 N& I* `* w$ h1 z
* K q6 e" Y4 I9 q4 x# ]
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:! ^) @, Y$ G& ^
# Debian/Ubuntu系统安装PHP 7.4; Z! y" M; T# o7 p7 n i8 t7 v1 A
apt install -y lsb-release gnupg21 D/ l0 m; }1 L) u ]
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
$ H$ I, X) Y# ~/ r U- cecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
! u3 p7 p1 F9 c* Lapt update
( j% S/ H- {' N+ p9 L' W) ?apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
% C8 v3 u6 U7 {4 x php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
" ?6 @% \& }3 `8 A% v( X9 Xupdate-alternatives --set php /usr/bin/php7.4
2 U% d) b) _) ]# e. x% f( W1 u8 p$ F# 启动PHP-FPM4 [( }& e; S3 |, d& _* V/ ?" H
systemctl start php7.4-fpm
9 J# X9 |: ^- {5 @! c; Q, _. W接着安装Mysql(MariaDB):
% N- Q' q" k$ ^, ]" a# Debian/Ubuntu安装Mariadb% D% K4 [& O. {5 v
apt install -y mariadb-server" C2 F! B( t9 Z( u* k
#CentOS安装Mariadb
) @9 C5 d! O, m9 I8 _yum install -y mariadb-server
, K0 d# V+ o# N, asystemctl enable mariadb
8 ]. u( m' A% v5 `0 |. \#启动Mariadb& P T" i4 d' k* X/ n
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
# P4 e a7 t" k7 H2 W7 I* C#CentOS系统安装Nginx% Y/ ^6 F/ J1 M' |% g
yum install -y nginx
9 k& ^8 r) z. {6 q" xsystemctl enable nginx# u$ m+ u. m( ~
#Debian/Ubuntu安装Nginx" ^9 j, W+ y2 ]; H8 M" T$ m0 t
apt install -y nginx
* n) z1 n! S& s5 B安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。" m; N% k# e: l& m! x3 h
部署YOURLS返回目录部署YOURLS的步骤如下:
- ~/ X) v) k3 K! ]1 Z$ g" r1. 创建YOURLS的数据库用户名和数据库:5 x. i, X+ z$ |
# 进入数据库
0 i }) [- _0 d, _2 \) U2 y: Tmysql: |' e2 P4 x' G- t/ H8 P
# 创建用户名,用户名和密码改成你自己的
7 K7 D% K; u* M9 i; qCREATE USER 用户名@'%' IDENTIFIED BY '密码';9 ~) X6 i. w% N! t& O
# 创建数据库,数据库名字改成你自己的
( Y' X! k: v, z8 [/ x F6 mCREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
& }' {! f( O9 J4 q/ \4 O# 赋予权限' A" Z$ \1 i* c. F& d Y+ [
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
) ?" y# k {- q. N, r# 刷新权限
2 m; F( a/ C3 t* E2 F; ^+ CFLUSH PRIVILEGES;2. 下载和安装YOURLS:) u" w0 M- E @, _: e6 ^3 L
mkdir -p /var/www
( {) E/ `: `5 r$ ycd /var/www/- z; L' \$ N" n s" k+ t! b
wget https://github.com/YOURLS/YOURLS/archive/master.zip: N3 `. u" [) T; b* Y: E
unzip master.zip
3 [' W9 I$ L# g2 ^mv YOURLS-master YOURLS
4 O J% K5 q# v; ~3 L1 }# 修改网站目录权限/ t4 k: M! |1 F6 C
# Ubuntu/Debian系统
1 ?8 k4 e& j p+ vchown -R www-data:www-data YOURLS. i# b! H* }/ l0 z3 U! t
# CentOS
0 Y; f3 I3 D N3 P6 c* f7 schown -R apache:apache YOURLS# n8 b0 [7 B `6 i
cd YOURLS# W6 e. ^; x3 K, t
cp user/config-sample.php user/config.php
8 }6 R& c, G6 Y4 m" Qcp sample-public-front-page.txt index.php. I q# ?" W; Z5 t4 }& h: \+ g& {8 N7 G
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:8 R6 @9 ?- e% R P9 T' O
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );. [, _7 _9 T) o8 d, A- n
define( 'YOURLS_DB_PASS', '填写数据库密码' );! h) K. e5 E2 }7 S6 I% c
define( 'YOURLS_DB_NAME', '填写数据库名字' );1 {2 [; | ^9 e+ g0 `; P
# 这两行基本不用改$ y, z: ~* W7 {: B- z: h& _( r
define( 'YOURLS_DB_HOST', 'localhost' );1 B/ q9 t% a1 e8 K- }+ l1 y
define( 'YOURLS_DB_PREFIX', 'yourls_' );1 s$ l7 w1 D% @4 S; C) W! i8 I9 t
# 填写你的域名,不要加www形式
/ Z1 ~' e% v1 ydefine( 'YOURLS_SITE', 'http://你的域名' );; q( U0 B+ T, O0 j4 V4 o" o. y% ]
# 填写时区,国内是8
8 b9 t; |2 v9 v7 rdefine( 'YOURLS_HOURS_OFFSET', 8 );" x% N* F& l- p8 t7 q( V
# 设置为中文, ?: _$ Y* `/ N+ D; x7 Z( y: \
define( 'YOURLS_LANG', 'zh_CN' );& D! ~- m. F! ]# n" h5 X6 ]4 V
/** Allow multiple short URLs for a same long URL+ G$ e& V$ V! B# v! f' Q) S
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior) E/ |+ T# S# H+ A
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
5 u9 _2 K* r- J1 ?/ @9 Y$ zdefine( 'YOURLS_UNIQUE_URLS', false );
7 P( Z$ ]. p, p+ f& @% S# 设置私有权限
, k: H3 s: Z1 F9 w" g' r4 Ldefine( 'YOURLS_PRIVATE', true );
# x# r, f& W p$ k9 P$ z
; T% E6 Y+ z3 x U6 F. Bdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
# j7 H u i$ W- R4 k! ^# 后台登录用户名和密码,一行设置一个,请务必修改
6 w/ `; L, u( l8 H3 K6 X( b$yourls_user_passwords = array(: @0 v! c1 X& Z& r5 H6 Q
'用户名1' => '密码1',
& E6 ~* i7 u1 D8 K' a // 'username2' => 'password2',, A( U2 \( S7 o5 z$ i1 |) F3 I
// You can have one or more 'login'=>'password' lines
( w$ Z- J! [( a2 @& W; U1 X% \ );
3 I! i1 ^0 M% b# w/** Debug mode to output some internal information! J' B/ }6 t5 s0 v& d. | {$ L
** Default is false for live site. Enable when coding or before submitting a new issue */2 N$ |6 G9 e. n& w8 H) s
define( 'YOURLS_DEBUG', false );; Q; ?1 V; @1 u6 Z. _: j
# 网址中允许大些字母填62,否则填367 q. o6 s) `6 C
define( 'YOURLS_URL_CONVERT', 62 );
: B5 t6 O6 w. c/ _8 g" H+ n/*
, L. `/ J7 G% C * 36: generates all lowercase keywords (ie: 13jkm)
) x) K. Y. x0 G7 W( M * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
9 K- c3 i8 o$ x9 j4 r * Stick to one setting. It's best not to change after you've started creating links.
. o( ] H1 O7 q( U( L. T */( {8 y2 v$ J/ `2 V y/ o
# 保留的关键字,可自己添加
' d2 m E Y( f$yourls_reserved_URL = array(: d; Y- e% v- f$ {9 ]
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',$ m {$ K& N: P" _6 c
);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。! m$ J3 _ R8 _4 i _# O+ J3 x
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容! l1 t! D5 l- e2 Y
server {
) `! s, U) R4 }! {$ O, C1 H! A# u listen 80;
! a2 S. s* F+ b$ c% W8 r7 m5 b server_name 你的域名;7 _6 F. ^% N+ X# t. I2 K
charset utf-8;
0 X1 L; e0 _! m5 w4 e( s& W# ? root "/var/www/YOURLS";9 b% T. o: }1 \- X, ~) `; T
location / {- i4 O, G+ W' d8 T! M* X) l
index index.php index.html;
1 n! l/ R( i$ B2 ~ try_files $uri $uri/ /yourls-loader.php$is_args$args;
]! |5 c2 S7 W% n, _8 B/ x! j }9 {6 ~0 _* W8 |8 m
location ~ ^/\.user\.ini {
8 i# m8 y/ V0 ] deny all;& a' K. w# k# M
}
8 }& {- O& g& |7 b+ H. s location ~ \.php$ {
1 B7 ?' L3 v3 o% A try_files $uri =404;
2 d0 _6 B3 ?* E9 | fastcgi_index index.php;
! U$ M2 W/ x( L$ }7 @: o # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
5 \' u& \' [6 L% \3 K' o: V fastcgi_pass unix:/run/php/php7.4-fpm.sock;
C5 b+ q( R- n) o* t include fastcgi_params;) S9 I! \' J/ a$ v2 M; m
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;* N! o! w/ X9 L
}
/ B& R" c) j9 R location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {9 P2 O4 g6 M! T! h2 `7 X; k
expires max;" I- x% {* Y. P/ n# ?$ h3 W% g8 c# W
access_log off;
6 r q8 }: I0 Q4 b try_files $uri =404;
$ x9 r4 `2 m) O }$ f* L0 ?9 I$ M4 i: c% q0 t! U$ @
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书8 t" U- R3 \ ^$ i+ M0 w
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
" t0 d+ c# U8 N; s4 g+ S浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
: r4 \! c6 @* s5 |4 o, b3 w$ G) @) H' f
( d* V* r. r; f, R) C
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。' x5 ^6 U8 g) s- k1 x. n
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
& a8 J' v" }* j/ o p首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:! X* b# z! D0 P) R2 B3 l
% [$ `7 U' @8 \
1 b7 v8 j9 u9 z; d5 U `
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。1 B# J/ ~% N* t% C/ ]
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
' B: m2 e9 h9 J% ^3 CYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。3 U! Z5 M5 _ |# G3 J
最终网站前端效果图:( m3 U1 `% `" W1 n t
E% ?" r1 M$ Q
; A! V7 J4 C7 r' D0 @. l短网址前端效果图后端效果图:) x: }+ w2 e1 m( E
V. E0 |; u* N. p1 w1 ]0 g
- q3 A( v( `" r8 i2 P) ^4 \
短网址后端效果图相对原版颜值高了不少。8 i; n9 H( L' z
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|