|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。& s( j7 v+ I, W* w: @) G, ~
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
1 h" g$ l9 L! ]本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
8 m/ m* T* X1 K% K$ e 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。. i, M0 j& O* e4 L( E5 ~" q
! E; |- J9 f7 b5 G$ [& d+ z+ L1 d: C: v9 @- i* l1 i7 G5 k
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
& C5 K2 b, W% S6 S' _$ n, `# Debian/Ubuntu系统安装PHP 7.4
8 r$ K7 ~* v, o3 Rapt install -y lsb-release gnupg2
9 @0 Q' W; _, u5 I; }3 [1 v. ^/ Kwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -4 M7 k+ I6 L$ W, N2 r) g
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
$ U6 r; M+ V0 Z. y6 P" i2 I) F2 Aapt update9 H* p4 w6 V# b7 a, i- b: y2 S
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
; T0 J0 k3 @, a# l6 t) P php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
( I0 n5 `! w6 d& n. Q% h' Uupdate-alternatives --set php /usr/bin/php7.44 \4 S" Y6 R" m( U
# 启动PHP-FPM2 X% O8 z# ]9 |
systemctl start php7.4-fpm: n) {2 f* X. `/ A4 h5 H
接着安装Mysql(MariaDB):) p8 N. z$ |3 @$ }* i: V. G
# Debian/Ubuntu安装Mariadb4 V$ `- e( y4 U U
apt install -y mariadb-server0 L! q! f2 _9 v# b0 i
#CentOS安装Mariadb$ H, S6 w, R9 X
yum install -y mariadb-server
% r2 S4 n8 J4 b: xsystemctl enable mariadb
H- O, R3 M$ x& j3 T- i# x2 o6 t#启动Mariadb9 k9 N3 e5 q$ J$ i. k' T- |- r
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
+ x! g' S* b5 h#CentOS系统安装Nginx1 I# i6 d- {* q1 T
yum install -y nginx
- v" O$ c. `! [, xsystemctl enable nginx
8 L! L7 V5 M( x$ N$ P) V/ u#Debian/Ubuntu安装Nginx
# K# X% ~+ g' p7 m8 X; Wapt install -y nginx
" z7 A# Q% F; J1 `安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
% h- t- G' a* @% Q 部署YOURLS返回目录部署YOURLS的步骤如下:
$ q$ G: C. \" w' E1. 创建YOURLS的数据库用户名和数据库:
u! g- ]3 {) F3 E" Y# 进入数据库 F3 ~9 C$ l& Y0 q/ s/ B V
mysql
8 ~: ?, u* b0 {- F6 h+ [# 创建用户名,用户名和密码改成你自己的8 u' _4 ^& Z7 \
CREATE USER 用户名@'%' IDENTIFIED BY '密码';* {* L, e! n8 |) S$ z9 A
# 创建数据库,数据库名字改成你自己的
9 Y. L. ^! k6 s- f8 @# R/ lCREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
! g) x% | _) R4 W6 v, Z# 赋予权限
0 w2 B3 ?) w5 D7 AGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
% H1 w* W" p* N6 t8 {* T) Q# 刷新权限. n. r9 O& |/ ]% v; B- C. Z7 L
FLUSH PRIVILEGES;2. 下载和安装YOURLS:5 K0 I/ J) S+ M8 }) E' T
mkdir -p /var/www$ K( Q& f1 c* f& `
cd /var/www/
. |' t! D" E6 |% Y( hwget https://github.com/YOURLS/YOURLS/archive/master.zip
. P% W" m0 a# g) m+ i/ Funzip master.zip1 y; X w v0 n9 w( K
mv YOURLS-master YOURLS
; ~" i9 {. A8 c" o! f/ e; H; ?( g# 修改网站目录权限+ }" u# g- M% S# K+ @- U4 Z
# Ubuntu/Debian系统8 q2 t1 |! X c
chown -R www-data:www-data YOURLS( F7 Y' f& |' D, s# d9 X! J
# CentOS& U. G7 ~+ i( @2 R4 k" S& b( |9 v: |& U
chown -R apache:apache YOURLS% N$ d+ l7 t1 d6 ~
cd YOURLS
9 ~# p {+ V4 x- q8 Xcp user/config-sample.php user/config.php3 Z5 S \$ h9 e% S
cp sample-public-front-page.txt index.php
, I% R3 d- @- L) C% R' icp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:* m$ y- M* u2 J8 ]
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
: s( m4 @3 V4 p5 Udefine( 'YOURLS_DB_PASS', '填写数据库密码' );
7 |$ m6 h7 k" v( Ldefine( 'YOURLS_DB_NAME', '填写数据库名字' );4 W q7 R* b7 A5 z& E/ g' O
# 这两行基本不用改- `9 O" _0 O0 V$ ^
define( 'YOURLS_DB_HOST', 'localhost' );0 D6 {. B- e# N8 a0 g" v
define( 'YOURLS_DB_PREFIX', 'yourls_' );
2 } \+ Z1 @0 W# 填写你的域名,不要加www形式" [4 Q% w; W2 V$ m
define( 'YOURLS_SITE', 'http://你的域名' );
5 d. \" E/ h5 ~: |. s# 填写时区,国内是8
. ~: [+ W [/ J- f+ \% adefine( 'YOURLS_HOURS_OFFSET', 8 );
# j% r* z; B8 N! x% l) ~' v* \# 设置为中文
# t9 I5 n+ _" f% l2 l7 Jdefine( 'YOURLS_LANG', 'zh_CN' );
2 \' ^( K# u4 x/** Allow multiple short URLs for a same long URL
0 u) `6 l6 N1 y$ C* Q, e ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
6 h5 k7 G% O; n2 D+ O ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */1 K% M) L9 J, z3 Q/ @
define( 'YOURLS_UNIQUE_URLS', false );6 {" G2 {& l- _' {
# 设置私有权限
. {5 Y8 b9 l4 ?* K. ydefine( 'YOURLS_PRIVATE', true );
( g6 U1 J. d) r3 p7 @1 I1 g& u+ n S: }) |3 ?
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );& ~+ _, U( Y; E" G( X1 ]
# 后台登录用户名和密码,一行设置一个,请务必修改0 c' W; V. u/ B+ L& \1 O
$yourls_user_passwords = array(; n2 X5 C2 I% ^" a' L( L
'用户名1' => '密码1',
# v$ j" h$ u3 P0 v" y$ P5 `4 A // 'username2' => 'password2',& I0 Y' A0 x' W7 ^, {
// You can have one or more 'login'=>'password' lines
, c+ P2 F" ^9 Z9 Z! r6 c );
4 {8 ^ c: t, Q4 q; \9 d/** Debug mode to output some internal information
U3 w6 {4 n+ ~/ A- F% w ** Default is false for live site. Enable when coding or before submitting a new issue */
( T5 q' c( b, Ldefine( 'YOURLS_DEBUG', false );9 |6 z( ]# Y3 P, ^1 K: f
# 网址中允许大些字母填62,否则填36" M) y) b& W8 e! A3 J2 r+ B
define( 'YOURLS_URL_CONVERT', 62 );
& N' c0 F/ w- C8 J6 d/*
( t2 u5 m) `( g% H0 q3 a4 t * 36: generates all lowercase keywords (ie: 13jkm)7 Q S3 I! }; f# a2 X# B: e$ X
* 62: generates mixed case keywords (ie: 13jKm or 13JKm)' ]# v9 s. z1 a" D8 [, k7 P8 E* Q
* Stick to one setting. It's best not to change after you've started creating links. D: p7 M; ~) G8 W' p4 i
*/2 e( e+ Z$ b4 O0 |. X
# 保留的关键字,可自己添加
! L1 m. X1 `7 k- j$yourls_reserved_URL = array(* |' w+ I' U* V- o1 }: h) \
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
/ s. u( Y3 e) |# s# `0 c; _7 V7 R5 E);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
0 J& Q6 u9 X9 b: E, s+ w( S4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容! C$ d7 M( w( g% N/ z2 Q
server {7 E+ i0 E7 V" a% v4 l$ x
listen 80;) _$ {# ^8 N. l& x3 h
server_name 你的域名;8 F0 i* E4 J$ D3 J0 e1 r
charset utf-8;
% c! v T8 b+ P3 S: x' e% B2 h root "/var/www/YOURLS";
+ x" S C; W6 V4 j" y6 Q/ c6 E location / {
* c+ O5 @9 ^8 W9 X/ S! {- f& o index index.php index.html;
q1 ~- B2 U" R a try_files $uri $uri/ /yourls-loader.php$is_args$args;* c4 P7 H) W3 v: u& n7 o- w- ~
}* c8 N- Q, D# Q& R6 [
location ~ ^/\.user\.ini {' y$ d1 b" j( R/ s* i# }. I& Q
deny all;) q' `# L& |; W% I$ T1 Q$ f: ?
}( J5 [3 M/ J9 w" a% C
location ~ \.php$ {
) _& d# H8 `" b' {" C6 f try_files $uri =404;
& p/ E" U, x& p: P fastcgi_index index.php;
0 |4 L! z' z( H$ s! i4 {4 E* X # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
: A* @" u* c. S9 m! E; Y8 J fastcgi_pass unix:/run/php/php7.4-fpm.sock;
- e0 d# v W g) ]5 z u7 X include fastcgi_params;
) V8 n/ C( t- _5 W' N. n& H fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
9 `+ I$ o- ^- u }$ [& i, Z; m8 B. j* g3 z }; P2 u
location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {: L X5 i4 ]5 J6 ?" y0 I% v5 {
expires max;
, ], L) Q. ?! C$ F access_log off;& S1 e7 y# q# `
try_files $uri =404;* Z6 d9 \8 _6 ]/ T6 o- [$ f
}
' J8 Y1 {2 r/ m( {}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书) a, n4 W6 |* Y
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。5 N6 A9 Z# X# Z+ }7 ?' V% t7 Z
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
! \1 a9 R3 Q2 r
7 j; y7 s- e: M" b4 F3 M0 Y# y
f3 J0 ?. Y# j& r% y- S5 IYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。3 k1 W8 r9 q& n* t8 I
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
5 m" o. P* l* b首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:6 Y; Y- l3 [% `, G
3 f/ M0 l9 b' B% ^* a+ v' \! U9 o, A5 S
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。 J! C# \3 N4 N# j" K
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
1 l x$ Y2 \5 MYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。3 C; B/ v2 Z8 g2 Q
最终网站前端效果图:( d- `$ m4 y) N# N, Q3 u
" _ ^$ ?6 d( b4 x/ J- X
$ j) N! V8 u y0 ?9 U短网址前端效果图后端效果图:- ?2 v ? ]- B3 L4 |5 U
6 ^9 ~$ g5 b0 ^ |
; g, M- t( b0 G6 C
短网址后端效果图相对原版颜值高了不少。0 F' q; N7 K: R* x. Z" J2 E
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|