|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
. U, S; X5 ?, ]1 L/ r; k经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
5 b1 ^+ `4 H" y* P M本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。- s/ T- R7 z" r- Y5 A
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。4 Y% q s# z& r0 \+ C
+ ~# T8 ~2 F+ k7 n7 k7 d' [# k
6 q4 z7 V+ F/ z3 _
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
0 J A( z, Y/ F; o @# Debian/Ubuntu系统安装PHP 7.4( P r p, P, P/ V p* x5 s8 o* O
apt install -y lsb-release gnupg2
- {6 \9 T7 i3 B2 Pwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -4 q9 x7 @- \: z2 g6 q9 S8 k3 u; P" E
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
& |9 N9 [7 w6 b& V) A% r1 Napt update& P0 _; k. ^! _" s8 Q# k
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
. c$ m0 i6 v& \ php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick& p! g9 ~* N7 {; Z; Y* |
update-alternatives --set php /usr/bin/php7.4
# y6 j: o1 G% `6 e, `. o, N! H# 启动PHP-FPM b6 c7 L1 u1 y' F9 O% x6 R7 m
systemctl start php7.4-fpm Y9 Q: [* M0 R, ^' I
接着安装Mysql(MariaDB):& w) X" Z6 \0 S# R8 y! n
# Debian/Ubuntu安装Mariadb
7 P& O* w* [7 d9 d# ~7 k( Yapt install -y mariadb-server0 }; Q* V& g$ w! l% y
#CentOS安装Mariadb
/ Z* K( [8 ]7 e: Pyum install -y mariadb-server
; f: }. G' e2 m4 Z) Q) j* @& {6 ]systemctl enable mariadb. c+ |3 u4 L) ^, O
#启动Mariadb& [ R$ Y" g4 T W
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:% s7 y+ P! r) N, _! U' \
#CentOS系统安装Nginx
8 h: }0 x* M+ c1 o; cyum install -y nginx
+ k$ h0 t4 f. Q1 R% ^' t( ^- isystemctl enable nginx
# `' T# o8 }) I% K7 E#Debian/Ubuntu安装Nginx+ } _- |/ r' q4 G/ b8 ~
apt install -y nginx# |) M+ x( K6 X
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
& N |; M% s. G: G- N 部署YOURLS返回目录部署YOURLS的步骤如下:: z& O, X8 z3 w) N. @! L( G& E
1. 创建YOURLS的数据库用户名和数据库:: V: e" D( B5 v5 o
# 进入数据库$ L: B7 L1 Q u6 L. i9 r4 B; A6 i* o' T
mysql0 b- R5 k6 L5 a; s8 `
# 创建用户名,用户名和密码改成你自己的# V; Y, ] A% c- Q
CREATE USER 用户名@'%' IDENTIFIED BY '密码';4 d! u+ `! \5 n! n/ l8 K
# 创建数据库,数据库名字改成你自己的* ~1 K R1 V- I9 u5 J/ `
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;4 t% ?7 y$ X3 O) }/ \
# 赋予权限
, S* J& a5 L, ~+ K9 t2 V0 u& x7 zGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
1 l5 C) f( X7 H% v0 V+ h% r# 刷新权限6 U* r" }0 m0 H/ r
FLUSH PRIVILEGES;2. 下载和安装YOURLS:
" q( O! j+ z9 r* f9 p* C% k: Omkdir -p /var/www
; z' E# ` x# |cd /var/www/* f/ U0 d( F: L+ @/ m
wget https://github.com/YOURLS/YOURLS/archive/master.zip
: ?" t7 F" l( h7 A% U& r9 y* punzip master.zip" K% D' {& f+ p# a& ^$ G
mv YOURLS-master YOURLS
, o1 ~7 w1 J0 ?# 修改网站目录权限
# }2 |) r# P& A. u# Ubuntu/Debian系统
9 |5 t- G# A! f ]% |chown -R www-data:www-data YOURLS9 F! D8 e2 s n) V9 B7 D
# CentOS, Q$ `4 T+ {: L$ b$ b7 V
chown -R apache:apache YOURLS; e8 U0 |/ r& w& w$ J
cd YOURLS
. Y4 I, ~5 ^2 @. _ u1 dcp user/config-sample.php user/config.php
9 {3 v8 N$ U8 i4 U/ }. a6 Ncp sample-public-front-page.txt index.php# q& A& h7 A+ V. n) X( e3 {
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:6 b! A1 y! v& s5 r8 o$ J
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );+ F0 |7 Q$ Y$ E+ w; K) V
define( 'YOURLS_DB_PASS', '填写数据库密码' );
0 M$ [% ~3 {- e; E2 w" sdefine( 'YOURLS_DB_NAME', '填写数据库名字' );9 T: v- t6 x" u O. Z c. q
# 这两行基本不用改! e) S* m9 x' ~: {' F8 l
define( 'YOURLS_DB_HOST', 'localhost' );% ~9 c$ o" j) D
define( 'YOURLS_DB_PREFIX', 'yourls_' );. f5 D/ @! f6 s, b/ f
# 填写你的域名,不要加www形式
2 Z- \% c" I' @ N8 tdefine( 'YOURLS_SITE', 'http://你的域名' );
* w) [- \, i- W+ _1 Y# 填写时区,国内是8" a) R( G1 I M& r+ q [
define( 'YOURLS_HOURS_OFFSET', 8 );4 u1 C1 B8 [0 t9 L
# 设置为中文7 j5 q7 n0 M2 @3 }: D+ x$ {
define( 'YOURLS_LANG', 'zh_CN' );% e' ^4 _5 F5 z. E s2 z
/** Allow multiple short URLs for a same long URL
- @/ |4 v0 w( {/ S# f+ r! y6 _% A ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
: Y, ^: ^& T" V. O2 R4 | ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
5 f' W9 M7 Y/ D: p9 s2 ^" tdefine( 'YOURLS_UNIQUE_URLS', false );( U1 m7 q# Y* U- W: U& W( J( Z
# 设置私有权限
" Q! e; i' w4 W3 Z$ N4 _0 |# Y& `define( 'YOURLS_PRIVATE', true );, v; \5 ^# j# D6 E0 [9 r
- p( e- N9 p" H4 `; d# k$ P- Y
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
4 C8 U0 j& l2 Z8 W# 后台登录用户名和密码,一行设置一个,请务必修改 f* {" V+ \& w8 i
$yourls_user_passwords = array(
2 z9 M* e7 f% |# ^7 J '用户名1' => '密码1',* o& P* }& q4 k: h; ]
// 'username2' => 'password2',
5 W: a. q4 Q, H5 c // You can have one or more 'login'=>'password' lines6 d7 t9 {- `1 f% m; N
);8 V' t( o+ F; y, [& J2 X: H, k
/** Debug mode to output some internal information
7 u9 e0 z! ?4 F# U* K ** Default is false for live site. Enable when coding or before submitting a new issue */* m: [* K& h+ i* D
define( 'YOURLS_DEBUG', false );
l5 e U( r% ]% T1 _# 网址中允许大些字母填62,否则填366 W. L/ S# C, {7 y$ w3 y; P8 D
define( 'YOURLS_URL_CONVERT', 62 );0 @1 z, y6 {' h4 R) Z/ T- D& b9 d
/*
! ?! _. w% H4 z7 X9 s- o: d) o * 36: generates all lowercase keywords (ie: 13jkm)
! ~8 ~- j/ t" E4 a. u6 K2 K * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
$ }2 J/ D( V5 T * Stick to one setting. It's best not to change after you've started creating links.
$ f: L2 M* N- a */% \1 Q5 E/ y4 X1 ]
# 保留的关键字,可自己添加; L8 G! _; j! T& F
$yourls_reserved_URL = array(" W3 e) i9 h4 N
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
: T1 m% [) g' a% y* G* C);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。 }/ d' g, _- Q( n
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
2 x2 V: N4 t3 }, z# X6 Hserver {# k3 }/ n9 e' |% v9 L0 M+ E
listen 80;1 N$ ~* K7 ?5 ~0 k
server_name 你的域名;# {1 J2 Q u/ B. F# E, A) [
charset utf-8;/ j* J9 b1 a' o2 m* S) y
root "/var/www/YOURLS";. f3 u% Q8 l: m: t5 t; F
location / {
- a% p3 u2 ~1 K4 C index index.php index.html;
$ [6 s( P# B2 K' T try_files $uri $uri/ /yourls-loader.php$is_args$args;) M1 @/ m9 b f
}- N X2 K$ d1 z
location ~ ^/\.user\.ini {
3 g6 {' q2 R; T% _! D deny all;
; `3 o& D" E+ g9 x }
; Y" q& ^ g, L$ z/ Q3 B+ E location ~ \.php$ {' `( u4 i6 b* {( o9 @" M
try_files $uri =404;* K% |3 X9 ?$ ?$ G3 w6 Y) N/ O
fastcgi_index index.php;+ V1 V: a& u% [2 W
# CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;- d, `2 a9 G3 x2 ~$ h; g1 u
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
7 l4 @; D- f% h5 [; n$ r include fastcgi_params;4 M: q/ B9 r8 |
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
* U' n; d- ^% v7 Z$ L2 T! X }
* R9 |. B7 Z# ] I; X location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {7 l; F6 D! C( c; t5 x
expires max;
$ H A G6 s. [2 q( l access_log off;
) E8 ?4 b; |* h) p% g1 f try_files $uri =404;: K2 G- u& i6 V2 S, j" e; X1 U
}+ ~- z- I7 F( M) @3 M
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书4 W0 R% h# O$ N- D3 \
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。# `" E2 ~2 W( n; _3 Y
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:8 u- c& i7 H _8 A I# n$ q6 N
8 h1 x) S0 O, @3 m. c
1 c5 n* S6 _8 ?. _) R$ V7 M
YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。) T S7 p7 |5 Y% c& H
配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。, b# Y T3 u0 Q8 d
首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
9 p2 \/ e+ [( f5 n2 r
: W- H0 [& ^3 X- f! l
2 ~6 {" D4 ~& P: A8 OYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
* t! {, h1 m4 ?% z6 c* M% r推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
' @) b$ l( Q' h8 B" R, @YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
0 \" P& _: {* [最终网站前端效果图:
( H" {7 H4 S6 J T
* i$ b- J Y. R/ ^- ~1 x' L' p/ r0 V: b* ~7 N6 A- \# n* G+ \' J+ }
短网址前端效果图后端效果图:$ e4 t( b" e' G* f0 `" d$ v: J
( A6 w+ d! `& {7 F, s. W
+ A% P7 E- A" x! y6 F8 T短网址后端效果图相对原版颜值高了不少。
0 a. i# B+ A- v' f0 @ 参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|