|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。* V" s' N) d3 F9 V& r+ s! E
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
) R3 H5 C$ y( S本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。' t) s( G- s4 H! I
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。9 M1 D8 b; ~8 k7 W
; c! M; T9 Q! s" b& g/ V0 e
5 H9 O- S# I4 W+ P+ v域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:/ k$ o! K) j0 w; ?! _
# Debian/Ubuntu系统安装PHP 7.4
5 c- ^1 ~( T% n8 Yapt install -y lsb-release gnupg2" ~8 W; e) z6 i& N: E6 v
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
0 o4 v V& Y6 v* s; Hecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list* _, ^; t8 J9 f( _2 _2 t
apt update
1 V5 Q* b% d! Y6 Q* w% b2 t- ?1 japt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \2 p2 z) T# h7 g; o9 P
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick% h9 i' r) H8 d% ?: N# k0 T
update-alternatives --set php /usr/bin/php7.4
, P+ u8 P# |0 j/ O7 [, G4 m* c$ D# 启动PHP-FPM
5 S/ p) f& B" E' k& Vsystemctl start php7.4-fpm
! r( B5 Y- D. k. K9 g5 T接着安装Mysql(MariaDB):
' T2 Y0 F" C: w2 f ^7 `4 y% M# Debian/Ubuntu安装Mariadb/ K! o0 |% h( |1 m) b
apt install -y mariadb-server' n, h) F6 \0 M( w: _" H
#CentOS安装Mariadb
$ A1 E3 ]: E4 C2 l6 D2 ~1 Fyum install -y mariadb-server
& x E% B: b- ~# ^+ ^systemctl enable mariadb- T: U' W9 }$ ^/ |* |
#启动Mariadb% a9 E4 @( C- j$ d
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
1 ~3 T4 b2 `, e#CentOS系统安装Nginx
; ?! D. O8 t0 f# Jyum install -y nginx
% {% Q: o" ?3 K2 ysystemctl enable nginx
# \ D4 ~. X; S+ {+ `#Debian/Ubuntu安装Nginx
1 w5 U% I* w3 x2 t8 D, j$ japt install -y nginx
8 L4 l* I; K7 ?安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。! N m u [. w, C; W2 H
部署YOURLS返回目录部署YOURLS的步骤如下:# l' E+ W1 b* ^: W, n V
1. 创建YOURLS的数据库用户名和数据库:
7 y& g- M9 O+ p, g# 进入数据库
5 F2 l7 D: E. kmysql4 C6 L* f& R8 c* J# w5 O. G& c! g
# 创建用户名,用户名和密码改成你自己的
1 T2 l0 ?% _" B. OCREATE USER 用户名@'%' IDENTIFIED BY '密码';
* h5 z6 p/ G1 f0 E/ v; R0 |; w# 创建数据库,数据库名字改成你自己的; u. L8 c* `4 ^& r' p F8 ^% u Z
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;$ C- X7 { u+ q
# 赋予权限# j9 l; ~3 Y6 G/ }
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
5 F$ z# D, N$ i S' k- _% R7 R# 刷新权限
& Q) C6 U" z' ^, a( OFLUSH PRIVILEGES;2. 下载和安装YOURLS:
$ j: Z7 L1 K9 {3 Q$ vmkdir -p /var/www3 |- a. l- d: ~1 K$ L1 E7 }6 `
cd /var/www/! p8 P% k9 ?8 X( U3 G# N6 A
wget https://github.com/YOURLS/YOURLS/archive/master.zip
( W% O: G1 n. R9 S" aunzip master.zip" F( U5 e7 L5 C* q1 z; H# m
mv YOURLS-master YOURLS
0 V7 |( r0 B0 `( l3 E' K" ?# 修改网站目录权限' Q3 q6 ?/ o2 n: ^. Y1 ?' j
# Ubuntu/Debian系统
. Y9 A" O, [0 y2 h. [" Mchown -R www-data:www-data YOURLS
7 U7 ^! L, X! e3 ]' J6 R# CentOS
8 D4 G, A4 c2 Wchown -R apache:apache YOURLS
. n2 |- `5 f( e h* C) I+ z6 ocd YOURLS, r! q/ r" t0 v! X# h
cp user/config-sample.php user/config.php
4 i6 c0 Q. n+ m0 i2 P' gcp sample-public-front-page.txt index.php* I# z9 z5 m5 F( p
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:2 F) d1 J& C9 ^! t3 x& \
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
/ {) T0 h5 y( U' @define( 'YOURLS_DB_PASS', '填写数据库密码' );
; Q+ B$ @7 r" Bdefine( 'YOURLS_DB_NAME', '填写数据库名字' );% o; s' W r! a0 p
# 这两行基本不用改
4 D. O1 b8 T8 q, S. D6 J v. Wdefine( 'YOURLS_DB_HOST', 'localhost' );5 y: h" D+ ]* m# F' r5 G f
define( 'YOURLS_DB_PREFIX', 'yourls_' );) y) m" u* N1 g- V9 G
# 填写你的域名,不要加www形式0 y% o' W7 P* ~, _$ x" F
define( 'YOURLS_SITE', 'http://你的域名' );
$ \ l5 Z) _) G. j" S& v* {# 填写时区,国内是8
" n' A! B5 L8 M: U) Jdefine( 'YOURLS_HOURS_OFFSET', 8 );
3 p1 i; j4 W* @: `" d& g& `# 设置为中文
$ y- Z# Z) P+ [8 ndefine( 'YOURLS_LANG', 'zh_CN' );1 S, E+ R) d8 ^- o) L
/** Allow multiple short URLs for a same long URL
5 W3 o, L6 D5 ^: J- j! W( |; } ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
1 P9 {% b( r! b6 S8 { ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
: H8 x( U( N7 v/ L- g. u3 `6 R# Y7 p+ cdefine( 'YOURLS_UNIQUE_URLS', false );
. q( f4 A4 w" a/ g# 设置私有权限
7 F% f0 }1 m* `3 Q% e3 {define( 'YOURLS_PRIVATE', true );
# U5 M7 J. ]$ g, a- J4 T! g) j7 E4 @: R2 Y4 K e
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );( e' T/ i0 y# H7 q( ~' l* }
# 后台登录用户名和密码,一行设置一个,请务必修改
! c: T4 O m0 ?. G+ }/ T/ v$yourls_user_passwords = array(7 [$ Z8 D" w7 W" n _1 H O
'用户名1' => '密码1',- n* L, x0 e$ E: t* j, |3 J1 O
// 'username2' => 'password2',
: l5 a6 R V6 U7 P) O // You can have one or more 'login'=>'password' lines
# u0 P, J) q" ?6 f3 F& C( K$ F );7 ?$ Y! m( U; x+ L0 q, Y" W' c, e; k
/** Debug mode to output some internal information- l$ s' i# h# r6 b+ Z- E
** Default is false for live site. Enable when coding or before submitting a new issue *// b/ D: O' i, Y& m: e
define( 'YOURLS_DEBUG', false );
0 ~/ g9 m( \: Z2 ~! {4 [0 r+ ?7 A# 网址中允许大些字母填62,否则填365 X: r9 x3 b8 O. P/ Q% f
define( 'YOURLS_URL_CONVERT', 62 );' x/ @1 f2 Z3 l$ Y% k1 X
/*
9 ~6 i3 l- ?, A) B" } * 36: generates all lowercase keywords (ie: 13jkm)
! W3 `9 X# O- a/ N7 r& R * 62: generates mixed case keywords (ie: 13jKm or 13JKm)' ^7 L: G B" C
* Stick to one setting. It's best not to change after you've started creating links.2 R" e8 {% H$ ]/ a" N5 E1 }$ ~# N
*/
- ]9 ^# [: |' V8 J' }* ]% |' c) h$ f# 保留的关键字,可自己添加, v/ ^+ G q! a! R- T( W9 c; o
$yourls_reserved_URL = array(. [( T: Z" [6 S; E a
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
" M$ h( n1 h+ l1 J5 V);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
1 j& y1 A0 R/ B! E% R: u3 i- }4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
& o1 [" I% u C) q w! X. o: V7 sserver {5 }, U- T5 }7 m* r W7 w/ \
listen 80;
/ g1 o; L' G( _ }) R/ T% T& Q/ O server_name 你的域名;
' J8 c8 y8 g+ f6 H: C1 p$ y& o( f# I charset utf-8;
1 m9 z; c' g p1 @$ ^0 U" F* i root "/var/www/YOURLS";
# G6 m, g9 \; b location / {" i$ ]! R4 {$ g `% _4 Z
index index.php index.html;/ k2 e3 N v: p3 z
try_files $uri $uri/ /yourls-loader.php$is_args$args;# ], N/ m+ r7 q6 f( j3 t$ R/ k2 h
}
. q( A/ A8 {" W) U* P location ~ ^/\.user\.ini { a6 z. n* [/ v5 C3 _9 h- J
deny all;2 i( W3 U, u* I( r1 T+ W% E) t
}
/ _) `* d+ ~9 K9 ^ location ~ \.php$ {
# S+ o; E% q6 w4 f try_files $uri =404;! I; o( W! R2 X( {; g4 Z$ z
fastcgi_index index.php;
4 z, y/ g; c; Z% I1 Z # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000; _. c ]9 Z& l2 S' \/ V0 X
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
; m2 H# H, G6 c S0 m5 J include fastcgi_params;) q3 X* H0 ?+ n g3 P, e
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;3 A- z& ? g+ H9 d% ]$ h
}7 _; G( \2 T( V3 Q
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 S4 `! L+ k j0 K expires max;& @- S* V; T* K: x( E6 b1 _2 k
access_log off;
% F& z, `0 |- K( K# z try_files $uri =404;
6 I q5 I G( f3 z } T* v9 K5 o1 L, h% U7 g4 g9 ?
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
& j1 n7 k E) B7 F$ C5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
. i1 [/ G6 @' U6 J7 [: Z浏览器打开你的域名,配置正确的话应该能看到类似如下截图:# w. ?, I7 `; {' R6 D9 a* [
: x7 i- N: w/ Q$ {: Z# x/ u* T a( @8 r
2 t9 d4 E# ?" V- eYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。0 K1 m0 F" _+ M8 D8 z
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
4 }: g& B, r% w" R& d7 J: P& y- ^0 K首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:. O* i5 L# V- K+ F9 H8 E
, l& f0 f) [; Z9 p. k5 X5 j; r. w; _, l1 I
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
2 C2 D6 s: M" a; W% Z9 v推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。' r3 d. m6 ^+ S3 y& ]9 F
YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
! e* G5 T6 M1 K, `( j4 }; h6 u最终网站前端效果图:3 H. b) p4 h" n2 S
3 F- i9 Y8 a$ m# ~
; J6 j9 t, E( J: x$ z- Y) v短网址前端效果图后端效果图:
1 b/ p" I; s( _" ?" N+ n) k
; y7 c/ F# N3 s" j) R% w( H" k& x Y2 W, n, j8 r) o+ O
短网址后端效果图相对原版颜值高了不少。& B P9 o6 Q _0 i
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|