|
|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。$ n4 q" }' K" a: M
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
2 c3 H; ?3 f& W& t本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
" o, H" E/ S2 Y8 j 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
! w: I u6 H. n2 I, e. ^
3 L1 R$ z. K; B6 L/ g$ e k, o7 r: u5 m: h; A
域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
& V- p2 ]% y E. r5 l# Debian/Ubuntu系统安装PHP 7.4- }5 S0 w' C0 e. h# u; K
apt install -y lsb-release gnupg22 m7 E: n% M0 O
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
5 W5 q" @7 W6 {: qecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
5 p4 G' E" c" ^5 @0 a6 Tapt update
6 j9 q. W' Z8 J- Z* ^apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
E- z9 }/ _# _9 R php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
: C3 `/ |# d. B; @0 ?& }5 ]8 q1 `update-alternatives --set php /usr/bin/php7.4
9 G- D# K0 I" o+ L, D* j8 g: d# 启动PHP-FPM
: e. W8 Z& s$ a$ X; Osystemctl start php7.4-fpm
- J5 L3 d$ [# `1 @) `( P$ |接着安装Mysql(MariaDB):0 C' j5 [6 Z4 `7 |6 e: }& H
# Debian/Ubuntu安装Mariadb0 d( d4 Q7 w+ c. h
apt install -y mariadb-server5 y E2 S; P' h- g9 D( F, g+ [+ f
#CentOS安装Mariadb
, u: N0 N) Q8 T& B; Jyum install -y mariadb-server: u4 v7 T! Q. X4 h% d7 Q$ [
systemctl enable mariadb. V7 h1 I7 j5 \9 C9 p5 L3 [6 K
#启动Mariadb. j/ I( q* q p! X) w
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:) B* [/ E) a4 v; r. q N6 z4 D& Q
#CentOS系统安装Nginx$ ~7 c8 K3 W5 P3 v3 Z3 ?1 n
yum install -y nginx2 O3 a: g& z, v: }9 }
systemctl enable nginx3 W: I3 B" j+ c' [& |1 X# R
#Debian/Ubuntu安装Nginx# B& k4 k/ u+ ?$ d0 x
apt install -y nginx3 M6 H3 u* f3 s5 g1 z
安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。2 \( F7 V* a' }# q
部署YOURLS返回目录部署YOURLS的步骤如下:. {: X6 P! C) m9 T8 L6 c5 \ Z
1. 创建YOURLS的数据库用户名和数据库:# J8 P1 a, {" `9 n
# 进入数据库
5 w9 M9 x" K) P5 Gmysql. D" `3 s6 n/ R9 d4 {+ b3 b% a. i
# 创建用户名,用户名和密码改成你自己的7 \4 v, |0 ?( k* N# ]$ U
CREATE USER 用户名@'%' IDENTIFIED BY '密码';
& j0 q2 }3 o) ?# Y9 U8 z3 U# 创建数据库,数据库名字改成你自己的! d9 T, J0 m2 M5 `# B& l) z
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
; l' N. A: ]6 y9 z1 s7 V# 赋予权限
' R' U U5 C4 h9 jGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
/ K7 J4 w8 o( a# 刷新权限2 r: |; |' \! {2 ?+ j9 }. }- T
FLUSH PRIVILEGES;2. 下载和安装YOURLS:" @$ |& I" {; g
mkdir -p /var/www
/ v, y _4 t+ rcd /var/www/
% E3 Z1 V6 `$ B# X- {wget https://github.com/YOURLS/YOURLS/archive/master.zip
. E" f- v- a. l4 k4 c; w1 J5 Nunzip master.zip+ U/ K6 k3 V# C
mv YOURLS-master YOURLS
5 o) C! c2 l& D! F( D( I7 b# 修改网站目录权限/ I2 ~' r% R' t6 w
# Ubuntu/Debian系统2 Z5 e* h$ m K% G2 b) P+ U. I
chown -R www-data:www-data YOURLS
1 A) U! ~4 R0 n5 \' |, f. f9 x# CentOS3 v: i3 _& W8 J7 V- c( w( k
chown -R apache:apache YOURLS
1 R0 d+ k/ v. m, o+ scd YOURLS
3 b% ^6 w' F, p1 Ncp user/config-sample.php user/config.php) G$ n, ]) K! K2 O
cp sample-public-front-page.txt index.php
+ i- b% x8 e' T9 v3 u0 qcp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:' a0 M; G1 d5 H0 ]4 a: b$ R3 m. H
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
$ O. v5 R3 M7 Bdefine( 'YOURLS_DB_PASS', '填写数据库密码' );9 J/ H+ l, R" Q/ e9 A( k8 K( T) M
define( 'YOURLS_DB_NAME', '填写数据库名字' );1 r9 ~+ }, t4 o, G& C
# 这两行基本不用改* R6 t& O+ P4 n
define( 'YOURLS_DB_HOST', 'localhost' );
$ N; S2 ]3 U2 Bdefine( 'YOURLS_DB_PREFIX', 'yourls_' );
% R* k1 Z. \. ?5 ~8 Y+ q) {$ Z# 填写你的域名,不要加www形式
) i/ m/ r+ ~9 u* bdefine( 'YOURLS_SITE', 'http://你的域名' );
7 @+ s! I/ B% \% W$ b; ?# 填写时区,国内是8
; N: _0 j$ [3 }; G/ S0 K: j7 tdefine( 'YOURLS_HOURS_OFFSET', 8 );1 a3 b# `" y: n' Y$ W
# 设置为中文- r; c) Z7 r: }( D+ R% W1 Q
define( 'YOURLS_LANG', 'zh_CN' );% d0 k d# G+ N) G4 g
/** Allow multiple short URLs for a same long URL
8 F2 N0 s3 E2 d' L ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)5 O6 v2 c, t! H( U
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
; m, i+ s e% G, |3 g' U- Mdefine( 'YOURLS_UNIQUE_URLS', false );
1 u. \" g! ?! u0 H: S e# 设置私有权限2 r3 E" X. `1 h! l" l# z2 Q" G8 P
define( 'YOURLS_PRIVATE', true );
% L' G3 v- X. N i5 t1 Q& T' s' o" k F' D
define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
$ I0 @" G; u5 e9 t9 N$ z' T# 后台登录用户名和密码,一行设置一个,请务必修改& P9 Y. C$ F2 h- n* Z5 @ Y
$yourls_user_passwords = array(1 W8 F8 X9 l- t' W" `0 X# y: o5 ~
'用户名1' => '密码1',+ c- \: i; [5 g8 l3 H! X3 `# b
// 'username2' => 'password2',# f6 }7 M4 o' d9 ]& P
// You can have one or more 'login'=>'password' lines
) r( d5 B( Y; X; ^9 o& w );3 _8 x/ w7 j6 Y
/** Debug mode to output some internal information3 c. y: M* K B4 i5 n5 P! ?* o
** Default is false for live site. Enable when coding or before submitting a new issue */
. w/ s. i3 D* ]& i' Mdefine( 'YOURLS_DEBUG', false );
@2 Q( b. i, Z/ O# s# 网址中允许大些字母填62,否则填365 v" _& O: [: s, m" L
define( 'YOURLS_URL_CONVERT', 62 );
. d8 g4 g- D' Y/*
^" v; q8 M+ E+ l * 36: generates all lowercase keywords (ie: 13jkm)
E' M( l! P6 a! G * 62: generates mixed case keywords (ie: 13jKm or 13JKm)1 O$ o) ^7 {% x) Z- T2 f3 ~
* Stick to one setting. It's best not to change after you've started creating links.6 r8 H% s" g0 V3 ~
*/
3 K% N" C) k3 G1 k! o% n# 保留的关键字,可自己添加6 x! l ?0 T4 P. f2 I
$yourls_reserved_URL = array(
: L" l# @1 L7 l 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
# n0 ~$ Z4 ^2 t);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。8 E( L0 m" I( l) ]( Y0 |
4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容. c: B1 h! b S# p2 m9 I
server {
+ o+ x7 B3 k( ^* } listen 80;
" e: y$ ?6 B7 ~! l ?% Z server_name 你的域名;
- M3 C: L5 Y& h. ? charset utf-8;
0 A: q5 S! J0 c" f) y root "/var/www/YOURLS";
4 {7 a) J a- C+ s location / {
. P( n. i% U$ |3 Q' L index index.php index.html;+ p0 Q4 j m6 e, t- V
try_files $uri $uri/ /yourls-loader.php$is_args$args;' p- ]+ L( R8 t# e) U; ?
}
$ d. h2 ^7 }# _ location ~ ^/\.user\.ini {% V& _. v. O9 Z
deny all;
' L- l" X* \- {2 O }% b9 M+ }& c, z! X
location ~ \.php$ {
0 d9 S& j7 u; e! Y% G) ^ W; M try_files $uri =404;4 x" A' W: V1 ~0 |% v7 A' Q( ]4 w
fastcgi_index index.php;4 {) L1 C2 g0 d" M' }
# CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
4 i+ L. O& L6 K' v) j fastcgi_pass unix:/run/php/php7.4-fpm.sock;7 t0 c$ ]5 L7 b- d$ w& M8 c
include fastcgi_params;, W; L) x5 L/ {8 C
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
. Y. L$ h' ^5 V/ @8 e! X3 u2 @ }
: I5 k( A+ w- 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)$ {: S7 ?0 U; M$ S, B1 x+ b, Q
expires max;
! @7 X7 ]/ \3 k6 S1 b9 N access_log off;
# D0 r# E$ l$ r try_files $uri =404;8 {& v& p: r! D1 G3 M; r6 |
}1 C9 [6 S. d3 d) H$ ^
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书. Z$ H5 v5 K% ?: p( Q. F/ E
5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
- S7 a f0 i6 R6 ?浏览器打开你的域名,配置正确的话应该能看到类似如下截图:( N, ]. v+ E" a. L: R1 ?3 G F: G) S
7 U& a8 l3 k& r0 L0 J) F
- b1 R! T- v5 {4 Z& Y- ? |YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
( v2 D! M4 E5 a7 J) V, k8 {9 c 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
q5 d- [$ {# ?( N% g; y首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:& H6 \ z7 t+ z* D" w+ k: K8 \ ~
7 t! o) q2 B+ u! a* L9 |. [) x' u0 m6 Z$ X) i3 A8 O& d: M( v! @
YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。0 C5 m2 H2 j& X9 [# k/ M
推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
6 N( @8 B) k9 c& n; _* FYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。" M3 x% f9 o- g
最终网站前端效果图:, J0 n. s, A8 U+ ?2 b- z
, }$ c( @1 l, B( Z$ i& u2 i; w! q' u7 r* t& y
短网址前端效果图后端效果图:( x. Q; k M! k
- K- _& P1 E1 C
/ s$ S: e1 R8 ], y3 h! T% r短网址后端效果图相对原版颜值高了不少。
! R7 L1 d# N9 D' M1 x$ z 参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|