|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
( T- G% R& G1 {9 ^3 U经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。5 V. a% p# p9 W) S) J
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。* J0 B+ v. \" |2 X0 e0 q) V& M
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
: K) L) O7 N4 _% L& K8 b& q- D: u9 F& L, w
% r# ]2 [) J5 N! l
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:' O& R4 O3 N! {' s! K
# Debian/Ubuntu系统安装PHP 7.4
/ ^' B4 u- E9 Y4 Rapt install -y lsb-release gnupg2. Y8 `8 w. x% E* N, M
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -% z9 n9 V9 R- N( m0 [
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
: N0 p) j$ t' ^ e1 i# h3 S, U8 Vapt update
& F/ Z. i, V# u/ l3 Q0 Mapt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
7 d$ `9 X) [ u7 n7 g$ T1 _ php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
9 B3 {( g( n1 g% D& Eupdate-alternatives --set php /usr/bin/php7.4
( [, ?8 A% Y# C# U% I; l4 s6 B5 P# 启动PHP-FPM5 v8 A# e3 L, m0 ?
systemctl start php7.4-fpm
) a$ Q4 i! n1 `7 @$ n; L接着安装Mysql(MariaDB):
, v: b' f# A! Y; l5 ~' g# Debian/Ubuntu安装Mariadb
6 @* y/ ~& [2 ]$ z/ S& vapt install -y mariadb-server
% g1 u" M. `8 c% G T6 i#CentOS安装Mariadb
$ T4 u" U% v8 h8 o8 w0 gyum install -y mariadb-server! s, Z! O7 Q* A6 f$ f
systemctl enable mariadb; g. j7 g- G+ M2 h/ e+ A% n q
#启动Mariadb- d% T$ e' @ n9 v; \. h) `
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:! {$ N( L3 I8 x9 {! h
#CentOS系统安装Nginx
: q& F& p1 B+ o% j5 ~+ Uyum install -y nginx
X' R, F' i& X H& Esystemctl enable nginx
9 E5 }* j& \6 Z- x5 i#Debian/Ubuntu安装Nginx
! I$ F9 ]* s O2 T( ~3 lapt install -y nginx
( T1 E7 v3 k g/ n. q$ E安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。 T( M! L' ?% P1 ?7 Z. {
部署YOURLS返回目录部署YOURLS的步骤如下:
* B% K. h# X' i5 {4 h }3 C9 K1. 创建YOURLS的数据库用户名和数据库:
, c7 ?/ ~4 q4 x: L$ y# 进入数据库/ V; [" h) [ [ V, j8 ]
mysql
( E( K. _3 p" ]) q' A; z# q7 c# J* S# 创建用户名,用户名和密码改成你自己的# x: p! N/ T/ R+ Y- J
CREATE USER 用户名@'%' IDENTIFIED BY '密码';
! w# E9 g9 d. F; x( D6 x/ \# 创建数据库,数据库名字改成你自己的; X u' `9 `* P. g2 r Z
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;5 L4 L# J6 O+ g+ L6 k" }, n
# 赋予权限
' Z- I( `$ |' \GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';, f4 O/ Y5 ^9 P# K$ {. Y, a
# 刷新权限
; Y) |% h% T0 R$ S1 ` IFLUSH PRIVILEGES;2. 下载和安装YOURLS:% q* P8 X/ a$ j( c
mkdir -p /var/www0 R9 J u' M9 Y* U0 j" R
cd /var/www/6 G& F2 d# E9 }' k/ }
wget https://github.com/YOURLS/YOURLS/archive/master.zip
. e+ b& \) k8 E) s' w# tunzip master.zip
% f. `5 X2 v2 `4 ymv YOURLS-master YOURLS2 I3 R6 `6 S$ F- q
# 修改网站目录权限) I1 W( R& P0 m! X1 J; H
# Ubuntu/Debian系统3 ^% F0 j5 v0 J* a+ D5 [1 l
chown -R www-data:www-data YOURLS6 B2 g2 N i( c( a- p T
# CentOS7 b1 L0 `' K0 O" ~! M
chown -R apache:apache YOURLS* }% F1 d1 m+ {- V1 h
cd YOURLS
- D' H' S# D. K! J p2 ]cp user/config-sample.php user/config.php
+ ~6 ?, q# R0 n$ { k. kcp sample-public-front-page.txt index.php, |% x [6 i4 o% Z p
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:. N' |# G& ?3 H' g$ }
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
! l2 ]" D- r+ o) j: v5 vdefine( 'YOURLS_DB_PASS', '填写数据库密码' );# v4 a5 \. t- w0 L0 A
define( 'YOURLS_DB_NAME', '填写数据库名字' );; T1 _; A9 K q" P' z
# 这两行基本不用改3 t- ~ O1 b( B3 Q
define( 'YOURLS_DB_HOST', 'localhost' );+ z( Q/ @% W6 S3 h7 L; {1 S
define( 'YOURLS_DB_PREFIX', 'yourls_' );9 @" X9 f4 p9 j! D
# 填写你的域名,不要加www形式" }* j8 v) z$ A) |1 A1 P
define( 'YOURLS_SITE', 'http://你的域名' );1 H! A$ S) J, W9 X m
# 填写时区,国内是8
; X" m- r! W* w% B+ F tdefine( 'YOURLS_HOURS_OFFSET', 8 );
& V$ J! V# r% ^# 设置为中文
+ N1 S' `7 h! \5 Q4 B8 udefine( 'YOURLS_LANG', 'zh_CN' );) W1 X; U; K3 d8 t6 \( p7 J
/** Allow multiple short URLs for a same long URL& k+ a- Z$ l. w# X( |
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)+ I3 D0 e+ _0 [
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
0 h2 F4 z8 |8 ]3 E7 [define( 'YOURLS_UNIQUE_URLS', false );
/ [ u& Y- E; P. H- w& a% Z7 S# 设置私有权限# E# H4 d: I5 y: I0 V! s
define( 'YOURLS_PRIVATE', true );
! P6 @, A/ Q6 ^! n8 h& g& ?; Z# I' H$ F" g: F
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
5 c- D- A" |+ B9 y/ L# 后台登录用户名和密码,一行设置一个,请务必修改
" w; d8 ]; N( r2 }7 {$yourls_user_passwords = array(: X0 ]" `: C7 ]3 y7 A
'用户名1' => '密码1',! T; a) I8 o7 H( g
// 'username2' => 'password2',$ r* _4 E8 I& Q" R- F, H1 p
// You can have one or more 'login'=>'password' lines
) A1 `( ]+ i# e );
! Y6 q( n z. x7 V) Z/** Debug mode to output some internal information$ H" |6 {; D; V' j8 x3 q
** Default is false for live site. Enable when coding or before submitting a new issue */8 M& [8 j- P$ f$ v8 u
define( 'YOURLS_DEBUG', false );0 `2 {. P* f/ X
# 网址中允许大些字母填62,否则填36" }5 s$ h/ y+ ^* D
define( 'YOURLS_URL_CONVERT', 62 );
& r$ Z+ }" U' f( ~, p/*
( i+ k& n0 l, u4 O! j * 36: generates all lowercase keywords (ie: 13jkm)- p, M1 b9 X) T5 @& g: O
* 62: generates mixed case keywords (ie: 13jKm or 13JKm), C/ x5 @# H6 J
* Stick to one setting. It's best not to change after you've started creating links.4 X" ^8 S' M. a9 ~5 o1 M
*/$ g) C5 | R# Z
# 保留的关键字,可自己添加; C- ]: v, o: }- e' V
$yourls_reserved_URL = array(% f. }3 q w" Z' Z i5 E+ o
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
# p! `* D; m' P; P& H. J);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。, ~- V+ O% _! K9 m4 ~5 |0 i) `
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容+ ^" ?- T/ ]- |) A7 ]/ J& a
server {5 d$ r8 I1 a2 T; c. t+ p
listen 80;
4 G3 { o7 i# F B# n2 L server_name 你的域名;
8 r4 B' A. \# A5 c/ q charset utf-8;( `1 R9 I5 l* o5 y) R3 t9 g* m3 d9 s
root "/var/www/YOURLS";
7 {& } A4 O5 W7 t0 o7 s location / {& s. n7 h6 [9 v3 ]7 ~" c
index index.php index.html;* s0 s+ o" c2 r# A
try_files $uri $uri/ /yourls-loader.php$is_args$args;
: \, r$ f) j2 y% w }6 U% U; m0 Q* `2 s B4 H
location ~ ^/\.user\.ini {! m/ t2 N6 k0 k2 x; W! Q3 ^* S8 g/ U
deny all;; O9 W$ b8 x$ L2 I" L2 L- [+ x
}, B* c9 o l# G2 D
location ~ \.php$ {
5 d0 [ h, S( e/ k0 p) F try_files $uri =404;
' \9 b" E$ w8 q6 e8 j7 ^' t# F) D1 O fastcgi_index index.php;
& y" _0 t3 ?. s( X! n" J # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
$ A! `0 f0 Y; |1 p3 _ fastcgi_pass unix:/run/php/php7.4-fpm.sock;; U0 d! D2 w( N8 x
include fastcgi_params;/ E% A$ s0 D$ Y
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
& d' a2 u& K1 k4 T$ w) H, | }
0 z& N [- Z7 A location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {: f1 G( U/ I A" q( u
expires max;( F& j4 ?7 }5 l3 Y! H0 O# C
access_log off;* J+ e+ K- h: B$ y) Y: n# e
try_files $uri =404;* v& f9 I0 V4 u5 q" K
}4 _0 D, X& g. j
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
+ C) K) O. I. y. r0 Q7 N5 i% o3 b5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。' P; c# W! v: |; L
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:6 u: N$ N7 I" H
* F; X2 }! p8 j+ A- `4 D' Q0 Z4 B7 f' H4 n: c: c* p, N$ P
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
6 v' R; Q: T% w# d8 G$ e( p8 \1 ? 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。2 z9 c8 q; ~5 t9 A- V" C, r. D& N# k5 C) k
首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
1 ^5 p9 g: D2 v" o4 k6 z# a p& q8 {% d+ v$ D0 _7 o" V6 n
2 V/ H$ S' J4 C
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
' f! ^( Y g( Q* M8 w推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。" d7 G5 k3 R: q1 {! ]
YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
2 Q7 P; _7 X1 w5 W) {. s$ m最终网站前端效果图:5 {3 P# T: z6 Z- |& U9 l: y
$ O' q P; s$ p! q" M8 X2 t& i, k9 h t% t% a" F$ t$ p& f! v
短网址前端效果图后端效果图:2 s; i. e0 `3 V7 U' o
% v A# c+ J* I" d4 n" K
3 x+ C/ O% x, ^# P6 k
短网址后端效果图相对原版颜值高了不少。
% g h. n5 t. ~8 r% I 参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|