|
本文目录使用YOURLS搭建自己的短网址服务部署YOURLS配置YOURLS参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。9 p- M6 m6 {8 q% ?* R: T E2 ?
经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
" y6 G# c' T. |7 l o9 K本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
! @8 ~$ E, V- v4 y3 E f 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
& S* N% P5 a; t! W: d* }; @: Q. {; T, N7 x* y
5 i5 q( m. G9 f3 ^$ q. |) M3 j1 H) y域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:4 R7 v; k" Q2 _. s0 s
# Debian/Ubuntu系统安装PHP 7.4
. @/ Z5 c3 J" G" D; t c5 W0 n, Iapt install -y lsb-release gnupg20 X' t/ ?7 B$ P
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -) G6 f7 I$ F, f
echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
; [; X. F l; @9 ?) A. W! eapt update
/ b0 e1 Z/ t! I6 x3 O- T3 }apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \2 A3 i2 i2 N- \" s3 k# `
php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick: w" @' \$ a# e$ `# W* I) S
update-alternatives --set php /usr/bin/php7.4& a, C8 L/ ?; I% Q( o. G& H
# 启动PHP-FPM9 @* H [# l8 J7 l; f! I
systemctl start php7.4-fpm. d( q; Q4 F* i& @5 H, }; P! @: U
接着安装Mysql(MariaDB):; g- w7 q4 b- c5 n: |% N0 e1 ~/ F
# Debian/Ubuntu安装Mariadb) D( I8 G, k l& ?) `9 ]; {
apt install -y mariadb-server# L& e4 O- N" O; C
#CentOS安装Mariadb
/ O! \% K3 k Pyum install -y mariadb-server2 ~* T, P+ t0 o7 g
systemctl enable mariadb
! \3 u- g5 {$ ~2 f5 u#启动Mariadb( t, ~ q1 {/ x' m
systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:" @. g; E/ B* Z% M
#CentOS系统安装Nginx- p; N+ X3 {3 X: m& r% S
yum install -y nginx) F5 y% [' M; y8 s" }2 i3 B
systemctl enable nginx* m- V N A% [; Q
#Debian/Ubuntu安装Nginx
) N' J* l# h! a, f8 J9 lapt install -y nginx
8 V$ w1 J$ F& `$ U- ~' l+ {安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
! p. h# g! }1 l: S. R5 U& K 部署YOURLS返回目录部署YOURLS的步骤如下:
7 p* _0 K0 |& x* o. D9 @1. 创建YOURLS的数据库用户名和数据库:
' w( h# ]3 @* Y2 B+ Y# 进入数据库8 }+ I6 v1 ]7 `# F9 i* h( p
mysql
+ a1 V; ]4 j, f1 y# 创建用户名,用户名和密码改成你自己的
. e. j# b3 S5 \# |CREATE USER 用户名@'%' IDENTIFIED BY '密码';
+ v3 X- h6 ^: r0 K# 创建数据库,数据库名字改成你自己的% b# G; t# J% M. P' h' H$ R
CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
4 ]$ |% K* V: O' C# 赋予权限1 w" M8 t. w$ ^' `; p; T% X* ?- c/ g
GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
0 q; n& i& o2 Z# 刷新权限
1 N! D& }2 _# }9 u! o* LFLUSH PRIVILEGES;2. 下载和安装YOURLS:5 a9 P# F6 a e9 ]/ S; @
mkdir -p /var/www
. r0 |; n2 _, O. \cd /var/www/
: V. E% t( \1 d" }wget https://github.com/YOURLS/YOURLS/archive/master.zip3 U$ k, i) V% y, m( n6 Z B: @
unzip master.zip# Q0 f2 d6 e; d' i
mv YOURLS-master YOURLS. Q; Z8 t: Y& E: }, w
# 修改网站目录权限. F7 w4 x7 o& d0 k" \$ m+ C, E3 Y
# Ubuntu/Debian系统# j1 r! X8 m! U( i0 s2 G
chown -R www-data:www-data YOURLS7 D* w2 y; h& Z7 }. I4 N0 `1 r
# CentOS
* G J# D! @8 [8 ~8 V. achown -R apache:apache YOURLS5 R8 `3 H! e# ^$ m; R6 {( M
cd YOURLS8 g- N7 E& L; Z- d
cp user/config-sample.php user/config.php
: o. g9 V) A2 r& b* F; J2 lcp sample-public-front-page.txt index.php: C6 I8 D% f. ~6 P/ f5 ?
cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改: [8 l; |3 d; \+ C5 n8 B: b
define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
- `# O j; M) ]& x4 {6 C$ Jdefine( 'YOURLS_DB_PASS', '填写数据库密码' );
3 l4 Z/ o0 U, ]3 @- { jdefine( 'YOURLS_DB_NAME', '填写数据库名字' );' g* e# g6 y( Y; V O8 U8 k0 y: J
# 这两行基本不用改
; L6 @% b, O1 X4 L. v1 ndefine( 'YOURLS_DB_HOST', 'localhost' );
* z2 w, Q0 {8 [. W* @define( 'YOURLS_DB_PREFIX', 'yourls_' );
2 R% U8 I7 e1 G8 k( F# 填写你的域名,不要加www形式
0 A; V, G" G" w8 S/ R' j: ydefine( 'YOURLS_SITE', 'http://你的域名' );
: h& \. f& B" D' ?# 填写时区,国内是8
. g1 C0 _# u3 Y f- edefine( 'YOURLS_HOURS_OFFSET', 8 );
( f+ }4 a/ y! S# 设置为中文9 r$ b F$ T* m6 ]
define( 'YOURLS_LANG', 'zh_CN' );, N' ~( P! n9 C5 j6 d: s9 _1 d
/** Allow multiple short URLs for a same long URL
. z9 L1 ] i5 B/ H6 i7 K3 f; r ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)) E0 h5 D/ _* ]9 x7 ~! v
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */; k6 k% O% S* R
define( 'YOURLS_UNIQUE_URLS', false );$ z9 {( S9 B" y o( h6 n
# 设置私有权限0 B9 C! c% Z6 m, c8 r3 R
define( 'YOURLS_PRIVATE', true );
7 c) e1 x$ h/ J% [* I/ Z" v. G$ F
) p( [3 H1 g4 f" ?define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );, _* O! b* q0 ?$ _0 Z6 F/ ]* I
# 后台登录用户名和密码,一行设置一个,请务必修改
) s4 a% u! k/ t+ P+ X$yourls_user_passwords = array(
: Y1 p; U3 o$ t1 \# L# C( m '用户名1' => '密码1',) d5 M9 R, Z" s& W% v
// 'username2' => 'password2',$ @7 X0 R5 i1 U- X. o# J- e9 Q
// You can have one or more 'login'=>'password' lines
, V! u( T% U. Z$ e! F; n; S- A5 W );, W+ r* f% o+ O O G9 H
/** Debug mode to output some internal information( T$ i+ e: S! {! y8 _4 S5 |
** Default is false for live site. Enable when coding or before submitting a new issue */
& P- b9 g: A# K. ndefine( 'YOURLS_DEBUG', false );
. a6 P1 B: Y2 r5 Z' N. O$ s# 网址中允许大些字母填62,否则填36
5 B9 f( C5 J, ^- {define( 'YOURLS_URL_CONVERT', 62 );+ m. J8 C7 r4 j( N
/*6 L, s1 {8 g v; ^# j
* 36: generates all lowercase keywords (ie: 13jkm)2 l9 o7 L! c" ]* t
* 62: generates mixed case keywords (ie: 13jKm or 13JKm)6 @; [0 y$ {& x7 i, L1 J- _' z
* Stick to one setting. It's best not to change after you've started creating links.( C# `. ]# @( L5 V
*/
/ v( N& {6 I; \# 保留的关键字,可自己添加
8 y8 {* G/ P- ^; H4 q& C$yourls_reserved_URL = array(
1 }( y# J/ K0 @! x; w4 j 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
( S# _6 I6 P$ w0 [: });接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
: I- y# G4 D+ B3 s4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
; z; H8 t' G1 c8 |4 ~/ Mserver {% Z! Q c0 |2 D9 r, s2 M
listen 80;) v6 C- D1 H6 A! O+ M7 B3 J3 j
server_name 你的域名;
; ~7 S- S p4 b3 X: A charset utf-8;
6 @0 i8 X$ r9 G, R' K4 O/ [2 @ root "/var/www/YOURLS";
& [( j% S \$ @ location / {
- }! @- R# z. B- t( e# s index index.php index.html;
: r7 N- M; s' l8 V. i( Y! T try_files $uri $uri/ /yourls-loader.php$is_args$args;
- U- m2 r0 p& Y. \- x+ G6 y }4 } i: C& }7 q0 L
location ~ ^/\.user\.ini {" |1 d( F% e" B7 q6 p' C7 R+ d* j! W C
deny all;
- ?0 @4 \2 A& a }
5 Y( i% W$ x) M7 J% k& t1 m% V" J location ~ \.php$ {
* q6 O* [4 G) F( e4 o9 K try_files $uri =404;
. N8 _4 j7 l3 v fastcgi_index index.php;
7 L' o% }) n) ^/ C d/ }' p* i5 p # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
' r! g3 Y8 Z2 F& t fastcgi_pass unix:/run/php/php7.4-fpm.sock;
" j8 U" q% m# R% K% s include fastcgi_params;9 D8 `* K/ ?" q. [
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;7 }3 w! V' b5 a, h+ E7 Z
}
1 }# _" ~! O2 S+ a: _ location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {& y+ ?" o( H5 z$ p% o
expires max;
& o+ P- y. o9 A access_log off;8 t2 D* b5 E7 |: g! R4 C
try_files $uri =404;7 O( d" [( t( G/ j1 l
}1 f5 u. h# @% W; l0 `# t# t
}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
" P/ Z* B0 L: j1 v5. nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
: c7 }3 s# w+ _* g浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
5 I4 _8 Q, {( V7 V+ \2 e- Q! t* x
* c# V' d1 |! R" S
0 ~( l* D& `6 bYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
2 A. l& S" f9 S2 V 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。 G, J' w9 D5 }
首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
& b$ ~) ?! v8 C+ c) F" `# P" N& V/ y0 b! J/ n/ K
; V& Z7 E; u7 [: P/ PYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
) [: N9 r. U8 L/ M9 S推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。/ V5 J+ v# w0 R1 i0 `4 I/ |
YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。# n$ o0 c6 d# e f! Y$ F: J$ ]2 j
最终网站前端效果图:
- Y9 y# @6 G& v% a* F' h8 E
1 G; s0 Z3 f& D2 D9 X$ _$ T% Z [
短网址前端效果图后端效果图:
; t# ?+ @4 v6 J( W! \0 I# p& I5 a
# l. a* E {, e; h. T- B短网址后端效果图相对原版颜值高了不少。# A, y% l4 Y6 C- E
参考返回目录[ol]YOURLSAwesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|