|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
7 G$ Q( b, L! w+ x( `6 R0 d5 x. r经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
8 S( v6 H9 Q2 q- z8 T% k6 m本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。, O5 i- U8 z9 K* Q7 R7 z
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
& S; W* l+ w; ^; H7 Z6 ?( G1 E
& z; G# ^( l& R. g
& i( c9 D: f* E- _- j$ l1 C$ i域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
$ N( a* m. H3 ?$ ~- G4 G: ^# Debian/Ubuntu系统安装PHP 7.4
- b; e% g! H, X( Aapt install -y lsb-release gnupg2. o3 V% u# s5 a) v- n9 a
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -3 S& C% c1 Z9 I7 p
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list3 K% u" Q; x2 ]* f
apt update2 d! Y# a- Q: v2 U
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \& E: |9 M9 K; `' @: p6 I) |
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
0 B* A( g9 j7 P* a! {update-alternatives --set php /usr/bin/php7.4
% E! s' c7 t; t# 启动PHP-FPM4 y9 Q: h5 _. a7 h/ G" S
systemctl start php7.4-fpm6 C6 d9 g- N' a5 r0 k6 d
接着安装Mysql(MariaDB):, C" k7 `' S) p, Z; a, @
# Debian/Ubuntu安装Mariadb3 K0 p9 I1 I4 ^4 f8 S( H; O
apt install -y mariadb-server
: s6 J6 V% p- u5 B0 F7 t/ K#CentOS安装Mariadb+ {8 s, S& d( J; D7 _1 r% G2 X" k5 r
yum install -y mariadb-server
5 P/ _+ f9 I5 f/ U9 ?$ Nsystemctl enable mariadb
5 o+ H3 w+ ?" ^& N: A#启动Mariadb
4 O. X" M+ k3 b/ D2 E; r- F2 Psystemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:4 Q+ Y1 h0 z3 r4 }/ V
#CentOS系统安装Nginx A# K8 @& Z8 _9 f
yum install -y nginx: ~ M$ M( m$ T
systemctl enable nginx
5 u u+ K- r; f#Debian/Ubuntu安装Nginx. m' K; v1 I! J* Y: w! w% O
apt install -y nginx. E C$ o! c+ S8 B$ C+ u% P' o
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
- D; r0 C! R- f P6 g% b 部署YOURLS返回目录部署YOURLS的步骤如下:
q! l0 h7 D3 J* ~ Y$ ?+ f1. 创建YOURLS的数据库用户名和数据库:
3 G% v0 m# X6 I9 i. h# 进入数据库) w/ b, m) P) Z+ A0 ~0 P
mysql
3 `# r) F3 a: X D6 ?8 I" l& q" ?% p4 ]# 创建用户名,用户名和密码改成你自己的
/ r/ M8 X# M3 G! }* NCREATE USER 用户名@'%' IDENTIFIED BY '密码';9 n7 E; y2 {. D. h! S
# 创建数据库,数据库名字改成你自己的+ d) R5 b( u; ~
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;, k7 B* z7 n+ c
# 赋予权限2 a/ H+ Z0 o% d% M! T
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';3 J* A: a. V, t! N3 R) O" g
# 刷新权限
/ v: [2 s3 A5 U$ S; MFLUSH PRIVILEGES;2. 下载和安装YOURLS:
$ _7 c8 H4 j. t6 M/ g" Rmkdir -p /var/www
+ [# w* M% {5 f! \& icd /var/www/- j5 Z2 n- Z% J) | ?- m) t- s+ E
wget https://github.com/YOURLS/YOURLS/archive/master.zip/ `& t* }) Z4 T1 O7 W0 I
unzip master.zip6 c b" ~9 [5 y3 Z1 s8 I
mv YOURLS-master YOURLS& K) Z9 Y/ F, u$ v
# 修改网站目录权限
: I1 n* O0 x/ d7 h# Ubuntu/Debian系统
8 D6 ?9 _. [0 [6 {2 q1 |chown -R www-data:www-data YOURLS8 C6 k, o) W+ s0 ^3 L6 r8 w' e
# CentOS
6 R |" \& j9 p& d( V/ B! \( f" \0 k" uchown -R apache:apache YOURLS! M1 ^0 {0 B7 `. R+ G# q
cd YOURLS" X- p7 `5 }# N( D
cp user/config-sample.php user/config.php
' {/ A. P! O6 j4 k$ X. H4 o g2 lcp sample-public-front-page.txt index.php! j8 R8 e( l( ~2 ~" Y* s! k3 B5 v* a
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
+ J# K: m& R5 R) f$ p4 P$ {$ g, ldefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );& K7 @) I+ I. B1 Y' X1 j6 Z
define( 'YOURLS_DB_PASS', '填写数据库密码' );2 U& Y- D9 e% q b j( B# U
define( 'YOURLS_DB_NAME', '填写数据库名字' );
* f, m* N: g8 |& n) Z# j: O4 @7 K+ ^2 G# 这两行基本不用改8 M2 ` J& T$ y' o: J0 a
define( 'YOURLS_DB_HOST', 'localhost' );/ j4 B+ z1 Y2 x9 o; m% t* w4 \6 }+ N
define( 'YOURLS_DB_PREFIX', 'yourls_' );
; Z0 u4 r( V+ `' @" H- B0 i# 填写你的域名,不要加www形式
2 R. q/ _2 a6 j$ \/ d& ?3 F5 @$ Edefine( 'YOURLS_SITE', 'http://你的域名' );7 D; G# H/ O/ k5 S4 f! Q
# 填写时区,国内是8# s3 d) j @9 j- s9 T
define( 'YOURLS_HOURS_OFFSET', 8 );
$ s7 o# D4 O, A2 ~# 设置为中文1 i' V( t( }5 ?( G- d# B+ d1 o
define( 'YOURLS_LANG', 'zh_CN' );/ R! H Y3 z6 g) g. K
/** Allow multiple short URLs for a same long URL
! ~ `6 l* \' B7 Y ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
: Z. z0 L% z& j! w; N! X3 y ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */" e/ C7 r3 ^# B" v
define( 'YOURLS_UNIQUE_URLS', false );$ k; q* C- R5 T
# 设置私有权限+ {6 e6 ^4 }/ E' s @, A$ `( h
define( 'YOURLS_PRIVATE', true );
3 F; r% E# Q, G0 N) {& c# \) q4 Y5 v7 }1 s2 P. H) z
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );( M; A9 d0 Q6 x$ X1 G" S
# 后台登录用户名和密码,一行设置一个,请务必修改
3 K* y8 A y8 E: o: ?$yourls_user_passwords = array(
7 k) A' E5 v1 c '用户名1' => '密码1',
8 s# S. s- ^. Q. f7 Q! }; s5 K // 'username2' => 'password2',
. C1 ~" g2 V6 J7 u3 J. ?) F // You can have one or more 'login'=>'password' lines
' h0 k4 O( o& c7 \3 X3 w );
9 U7 R- l6 v: X7 D% a, W6 @/** Debug mode to output some internal information
/ ?; i) m& y2 e v- k0 A ** Default is false for live site. Enable when coding or before submitting a new issue */
5 t5 ^2 Z* {7 Q, z9 `define( 'YOURLS_DEBUG', false );# f2 x; [+ U! b2 w
# 网址中允许大些字母填62,否则填36
Y( \1 f, e b0 y9 S) O7 A Mdefine( 'YOURLS_URL_CONVERT', 62 );
: B7 I* ^. B* K, D% C9 c% H F/*
1 i! W/ V# b/ r7 A( m$ Y * 36: generates all lowercase keywords (ie: 13jkm)
- m/ u6 r4 a$ { q/ z+ Q2 @ * 62: generates mixed case keywords (ie: 13jKm or 13JKm). w& i% B* H% T6 p! q# a! G
* Stick to one setting. It's best not to change after you've started creating links.
$ y2 G* ?, I" p% A5 m9 n */
. D2 `' P0 C/ L% R% [3 i7 d3 g# 保留的关键字,可自己添加
% n8 ^" F) N; V6 G0 H6 p$yourls_reserved_URL = array() z) n& Z7 i+ I: [$ s: ]
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
6 g8 v$ r) F2 a6 ^) N! y$ E);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
4 v5 j, n5 {% x4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容8 _' @( D1 L: g% f6 O
server {
" a4 Y" S$ [& [- P% `6 |9 V listen 80;6 h; B0 L' V2 U. v8 C3 \
server_name 你的域名;1 K0 u+ ?' t, C" [+ {7 T
charset utf-8;
; J1 ?* h @1 R root "/var/www/YOURLS";
4 ?6 q7 [) O- C" c0 A location / {1 U6 ], S' _; A4 @' n3 |+ I
index index.php index.html;3 Y4 N( |+ ^0 K) T+ Y
try_files $uri $uri/ /yourls-loader.php$is_args$args;2 j g i+ {; Z8 E7 L+ `. T# S9 {7 N
}' a; N$ m$ B0 Q! X2 |6 R
location ~ ^/\.user\.ini {
( { V# Q& {1 C$ }6 o deny all;& h" z3 W, L/ c( {
}
U- k' M# R1 S* n location ~ \.php$ {+ Q; G8 L" q9 E8 ~) _* I0 b+ Q+ j
try_files $uri =404;
, O1 _9 d8 O2 K fastcgi_index index.php;
. M# V' M5 W: o$ i, P # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
9 w: C% {- n7 f) X b0 n, L5 ~ fastcgi_pass unix:/run/php/php7.4-fpm.sock;) ~ Q9 O8 \% ^# m* s# r
include fastcgi_params;
6 }) Q7 g" u. P fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;3 \6 Z u! E4 E( g
}
' J5 Z. \( _7 e location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {" [5 P& q c+ `: r
expires max;' Y9 R" H# d. M) m% D" P# l0 T
access_log off;
( M7 d X5 @$ O- }2 b* P try_files $uri =404;
0 X4 R' g3 ?5 p7 r! [7 | }2 M0 F) ^+ G" W
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书 j1 X- y1 q [
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。2 G' u! k2 V6 u$ W# U4 M$ ]
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:% g6 Q4 x/ U9 y* q7 P5 B; u
* s& @ p9 x# w7 a7 ]: Y8 p3 ]) m A; j3 {+ x/ y$ L
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。9 T: K8 n% `4 F; B* A7 H( G/ ^
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。/ O9 f- S1 ?7 j6 E$ J( [
首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:2 ?7 T7 U+ ~) m" A; H
4 o8 _/ u) o7 A+ X2 t% s
x# w" I1 E, A% f: r7 u/ ]
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
# T9 ?- n5 X! D9 |% g推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。" K$ Y) I+ w" v5 X- q2 z
YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
/ q2 h4 r% `8 Q5 x; b最终网站前端效果图:1 h- R' k9 k. @& S% T2 D
: ~) O/ G' H6 P9 b, \, f
& Y# V5 u2 E/ h1 [/ ~* ]: F7 M' r短网址前端效果图后端效果图: z1 B8 y v( j' B/ e& T
# l% g$ v- f9 }% U$ [4 A+ E# Y! Y$ L1 Z/ H: S2 {
短网址后端效果图相对原版颜值高了不少。- v: k5 F$ Q f* i7 g1 p3 {
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|