|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
A4 u+ {$ J& {. @ H经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。1 R! B4 {# G+ S& M3 ~: F/ }, h
本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。" i1 Q5 g! A% a6 { \! ] _8 i
使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。2 }: ?" k* V' j7 ~7 L4 c
. }3 m6 E, A% Y% E8 M. T/ f
+ w, ~* L! M' q# B2 |) `! o! [域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
2 d% N, O" g3 u+ q" F: Z# Debian/Ubuntu系统安装PHP 7.4+ P7 _; r6 K8 t7 J6 A2 Q6 |# i
apt install -y lsb-release gnupg2
3 ?! G2 K$ B- m7 _ \) O! Jwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -. u: v z+ O8 m# e b3 \
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
: i! @0 o% @7 l4 b: Wapt update( u2 Y; J3 b% c3 {5 w: {
apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
0 `1 |" x ?+ v; {# h php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick/ |, Y4 @: b) r4 d' Q% Y( r; F
update-alternatives --set php /usr/bin/php7.4- g" b) s- w6 J5 f9 g
# 启动PHP-FPM
9 h# q+ ^. m% }systemctl start php7.4-fpm2 c" ~! M4 m6 N
接着安装Mysql(MariaDB):
4 d( { B$ }+ ~& P7 Q2 x5 U# Debian/Ubuntu安装Mariadb" M3 f, S) f; q- t
apt install -y mariadb-server
: \# j) m& t) n% Y#CentOS安装Mariadb2 }# A! E; y; e2 J, K5 t9 q' D
yum install -y mariadb-server9 o' l& f: n/ e' P' y( f% I6 n" \
systemctl enable mariadb
, Z6 H. D/ \/ `4 ?4 z, i9 G#启动Mariadb! [; o% x" T+ N4 B0 b" r
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:, |; ]. S8 u9 @( F0 l
#CentOS系统安装Nginx
) p8 K& V1 V/ l6 a. U. Qyum install -y nginx2 m4 j7 @- ]$ `4 c5 E# S# O
systemctl enable nginx
1 G. ~# I% }) b( L1 J1 y#Debian/Ubuntu安装Nginx
( q1 {3 e2 I. `7 _apt install -y nginx- Z7 z0 I$ S3 f6 Z
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
' F2 r4 n) |5 Z# |# L( W/ M 部署YOURLS返回目录部署YOURLS的步骤如下:+ g. H$ {: V" H* x' y6 C
1. 创建YOURLS的数据库用户名和数据库:
3 Q6 } V5 s4 a+ _# 进入数据库
* ]$ j( \) x5 |. I3 `# m4 Fmysql. i0 K, Y# O5 o+ H* f
# 创建用户名,用户名和密码改成你自己的4 W8 R1 N& p5 b7 j) D, I! z, G! z2 p
CREATE USER 用户名@'%' IDENTIFIED BY '密码';6 k: a4 y! K, y
# 创建数据库,数据库名字改成你自己的" B, U8 W; j' P" R/ z2 d A3 y
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;! c5 ?* H4 d4 k* u. u: Z% z( T
# 赋予权限
3 Q7 ^& z- z2 l8 ]: {8 iGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
0 v1 e: @3 b4 r- P' f# 刷新权限
, D8 f. [$ B# s# B7 {' C9 yFLUSH PRIVILEGES;2. 下载和安装YOURLS:
2 ~! T) k0 i; C% s8 ^. Omkdir -p /var/www3 F4 A0 G9 \9 S
cd /var/www/
% d/ e- W- K2 m* J3 X; Gwget https://github.com/YOURLS/YOURLS/archive/master.zip
/ ^: Y8 Z) S- `9 y# ounzip master.zip
. N5 P" W/ Z5 n' U7 Tmv YOURLS-master YOURLS
8 i8 {6 ]* U) ~ _7 A# 修改网站目录权限+ M) w; \$ v \1 w2 T
# Ubuntu/Debian系统3 P! V% |$ x \! K
chown -R www-data:www-data YOURLS
0 x. q$ H# s& P2 M# CentOS/ `! i, o: T6 I3 B& I. f
chown -R apache:apache YOURLS/ k! t0 R+ ?" c7 k
cd YOURLS
( i9 h( ~' c/ S5 f- Hcp user/config-sample.php user/config.php6 }9 O7 ]4 k# g5 `6 Z2 G5 H
cp sample-public-front-page.txt index.php
* M( n1 \; x4 \2 |cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:* Z5 T/ N6 k: Y/ D8 J
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
. _6 P* v! ^9 k: j3 u) X* a8 x1 ^define( 'YOURLS_DB_PASS', '填写数据库密码' );
" \) p- u1 {5 q, cdefine( 'YOURLS_DB_NAME', '填写数据库名字' );/ W0 w$ g$ o+ T! j- `5 c% K
# 这两行基本不用改1 w. T/ p8 H4 h& K/ o
define( 'YOURLS_DB_HOST', 'localhost' );9 y* D4 N9 P+ d! o8 z
define( 'YOURLS_DB_PREFIX', 'yourls_' );6 \, n4 O8 D: y7 j8 R4 z! L- e
# 填写你的域名,不要加www形式
: y6 Q* E9 F- e1 l4 tdefine( 'YOURLS_SITE', 'http://你的域名' );" N F9 U( O+ ~% n3 Z
# 填写时区,国内是8
8 e7 ?% x* E+ D* F% mdefine( 'YOURLS_HOURS_OFFSET', 8 );; a; a- o; n4 r+ Y) P1 I2 t
# 设置为中文
3 V/ S9 J% q1 r9 g6 I! J5 w" i jdefine( 'YOURLS_LANG', 'zh_CN' );0 k" e# x/ ^6 N7 r1 Q+ E
/** Allow multiple short URLs for a same long URL
2 w* ?) i: b, C ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
# U- _# ?) y8 V ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
: ~' X5 o" J9 i- ^- Ydefine( 'YOURLS_UNIQUE_URLS', false );
: m3 Y0 e O1 t6 O4 s4 W# 设置私有权限, x; r* x7 K! f9 ]2 v* [: W# Q
define( 'YOURLS_PRIVATE', true );
! i: v3 X# m0 h9 ?$ c: w; y$ H4 N0 Y. _" o
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );/ E6 r7 O3 l! ?( x+ ?. g/ ?
# 后台登录用户名和密码,一行设置一个,请务必修改
! e4 U/ T0 |% E2 L8 s$yourls_user_passwords = array(
; n z, k& p( }6 C4 Y. O '用户名1' => '密码1',
* s0 h! |+ @1 m Q7 b; E // 'username2' => 'password2',
, N% q: i) l- P' _ // You can have one or more 'login'=>'password' lines, Y6 W" G, Z3 Q* Y
);
3 M& Z! v/ c8 ^6 V1 _. Y, }/** Debug mode to output some internal information& G$ P# f( }1 U0 {- z2 m
** Default is false for live site. Enable when coding or before submitting a new issue */
: a/ _9 M) L6 P- C9 w$ G" kdefine( 'YOURLS_DEBUG', false );
, l0 M6 B6 ]4 _9 M/ `) I# 网址中允许大些字母填62,否则填36+ A& [2 c1 x2 r& K' P/ ]$ z
define( 'YOURLS_URL_CONVERT', 62 );5 |' ], Z0 P% x" q) \
/*
; j& X; k* Q- D% n+ w/ D6 Q * 36: generates all lowercase keywords (ie: 13jkm)
. @; o; a, g7 I0 }5 h * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
2 w% t6 R9 Z, E# l * Stick to one setting. It's best not to change after you've started creating links.
) C) S& u0 T- t+ m$ R! M */
; T7 b* L# ]9 C' y# 保留的关键字,可自己添加
# n- w* ?& y d8 p8 E* K: I$yourls_reserved_URL = array(
) {9 H4 Y% Q" x 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',/ g& s. w3 z. z7 e
);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。) v" n7 V1 x! S5 E$ E
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容: y7 t- _, b3 q; d, z6 t% m
server {* ]! H' L: W# x6 @, t
listen 80;1 M* B' j6 }9 O1 W$ }) C
server_name 你的域名;% d/ R7 `$ I4 X- Z2 q4 r9 b
charset utf-8;1 f( B$ l H7 b# u
root "/var/www/YOURLS";, m0 i. P) Y, h
location / {
' m: I+ D% }1 b7 w; r index index.php index.html;
+ b5 ?4 F, y8 D4 @) s% a0 @ try_files $uri $uri/ /yourls-loader.php$is_args$args;
1 |4 w! c; e `9 r: R }
0 l' N' I; U; R location ~ ^/\.user\.ini {2 W$ r/ g/ j, ?% o0 [
deny all;: A' r/ e. S- m( ^+ b+ H
}. x* c% l; I$ ^
location ~ \.php$ {
7 g7 h1 A% n2 b# g- f* h2 A try_files $uri =404;
3 C G: f, L2 s* S) L, D fastcgi_index index.php;
T7 `3 s9 `4 b) g/ `+ J # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;' B5 k8 ?! o& ]( n! L/ h
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
. o. h4 g% v7 J! o, ] b4 D) H include fastcgi_params;7 z1 S+ D) o- R6 c$ {( L# N
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;! y7 y6 P- Z; f( t
}
: C# e7 R2 a7 X9 f2 S location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {. f2 m8 ]$ q3 ^9 y
expires max;* x, `8 ?- X" H( {9 _+ s7 K, S- [: b
access_log off;
, p( B% c3 `! G6 B- W4 ~ try_files $uri =404;' l' D3 \/ N# I% o# X, H
}
4 h9 ~2 a: D7 b2 W; {}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书0 \" \1 w: y2 O9 r% H& s% |' Z1 g2 E
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。. l5 E; g3 H( u2 V
浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
/ f$ Z$ d" w7 M; U# P3 b0 W! X2 x1 X+ r9 C: E
' p' D9 D# |/ f3 v$ e5 G) ]YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
, `$ _) i& Z6 ~) k" m9 a1 I3 c 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
# w4 J5 [9 S$ O7 I首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:2 c! J) ~8 w! I8 v; ^
3 W+ {2 Y" N# _5 }
6 j: a9 v1 s7 m+ b$ [ K/ S2 I
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。" t. @1 h9 |8 j; L! I# w' Q
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
+ i1 X! J7 f1 g2 e8 WYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
& F4 I$ V* L; s/ i e最终网站前端效果图:
1 H! C: b( P6 f) r- N2 Z
/ `4 M7 T' i/ x t6 B0 A
3 M( m5 J& Q* D短网址前端效果图后端效果图:
4 i+ E! D) \9 D6 u' w _' M" v; I3 r1 b: k; L
; e& s3 n' Q0 I. o$ w( H$ c F
短网址后端效果图相对原版颜值高了不少。
' ]& `0 {% Y( ^. A1 f& I R 参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|