扫一扫,微信登陆

 青浦修电脑 青浦笔记本维修 青浦手机维修 青浦电器维修

搜索
查看: 821|回复: 0

使用YOURLS搭建自己的短网址服务 - 青浦海洋数码电脑城

[复制链接]

1万

主题

1万

帖子

5万

积分

论坛元老

Rank: 8Rank: 8

积分
56206
发表于 2022-9-11 21:04:53 | 显示全部楼层 |阅读模式
本文目录
  • 使用YOURLS搭建自己的短网址服务
  • 部署YOURLS
  • 配置YOURLS
  • 参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。8 i, m) u: {/ n; @" M' F
    经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
    3 v1 u, A! b: m本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
    & }3 G6 I4 m0 S6 ^/ i& S! s 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
    3 j( S" w1 M' E0 D# ]- k: e
    - q( W$ D& ~, l! B) _* H0 I) X# P3 @% d# G7 A0 x. \6 _
    域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:6 U7 l( ^& K6 U$ W: i
    # Debian/Ubuntu系统安装PHP 7.43 ?; f: j9 x! _; V& a
    apt install -y lsb-release gnupg22 P$ ^* D! R: I- R1 }
    wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
    / j: w# e- o& N3 _, P* G. xecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
    ; g! [6 U: d# [3 V5 I) r* t1 Yapt update
    4 r. S0 O! p& H, K; uapt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
    1 R/ t% Y- X+ y) E: i php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick2 B; x  o9 Z! N. Y
    update-alternatives --set php /usr/bin/php7.4. u$ L" x% s( T% ~3 `& V
    # 启动PHP-FPM
    & n; q/ }% ~4 ^2 n: ?! j; N# Vsystemctl start php7.4-fpm/ r# Q9 T+ T2 o
    接着安装Mysql(MariaDB):+ b7 u- e3 @5 ^" S" T) z4 l
    # Debian/Ubuntu安装Mariadb
    0 H) b1 ^8 J' W* v6 Vapt install -y mariadb-server
    ) w) U7 H# W8 j' y4 m% z" W9 r#CentOS安装Mariadb
    / m# E' W8 v# U8 K' Hyum install -y mariadb-server& q# A# u& n5 H, D
    systemctl enable mariadb  m# n# C) b& a1 d4 z+ Q" S$ j
    #启动Mariadb6 l- S) H  W$ O% o& z/ x8 R" h/ G
    systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:2 g* ^8 ^( l/ t, Q
    #CentOS系统安装Nginx
    , ^. n5 `7 A& r5 `5 O; tyum install -y nginx+ z& }& A" X7 m, M
    systemctl enable nginx
    . d6 R( M( b8 K5 s2 n* O5 O3 Y0 A#Debian/Ubuntu安装Nginx8 o; l  R/ ]- }5 [8 j
    apt install -y nginx0 X' o5 g5 u9 Y, ]9 d
    安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。# ~+ H& d( a4 D- T
    部署YOURLS返回目录部署YOURLS的步骤如下:5 o1 e9 w  u6 v6 j5 t8 y
    1. 创建YOURLS的数据库用户名和数据库:. \* |3 D" S3 L. P
    # 进入数据库
    + D7 y0 C% V5 T1 ]2 U$ T4 Amysql/ ?' Q/ \) @+ N4 t
    # 创建用户名,用户名和密码改成你自己的
    + Q! R# {. u' L( G$ M% vCREATE USER 用户名@'%' IDENTIFIED BY '密码';# U: I* N  r8 T
    # 创建数据库,数据库名字改成你自己的* u: p( U( W+ R9 f- I/ t. u
    CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
    2 h4 E; ^' Q% @( J7 P' s# 赋予权限6 [) q& F9 V1 \/ A% S  l* Y  }: f. b
    GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
    9 `0 \( a" \5 Y* C" j+ U6 v# 刷新权限
    1 f  B; t. w  P7 L9 K6 ?FLUSH PRIVILEGES;2. 下载和安装YOURLS:
    : f9 A" g+ o& H& J( y* n5 `mkdir -p /var/www5 E4 O4 r% b5 `" B) W& j+ I
    cd /var/www/
    0 I7 `6 s5 E4 W  y3 I& l; \: ]+ X0 cwget https://github.com/YOURLS/YOURLS/archive/master.zip1 U, N* v* B: y' ]# f/ h! `
    unzip master.zip* z; t" G: ]' E2 `) K/ y8 c- [
    mv YOURLS-master YOURLS
    * g8 K; W9 d# X& j% Y5 Y# 修改网站目录权限# F4 F0 W# h- w
    # Ubuntu/Debian系统
    ! ?8 l- |: M, P, T, x8 F7 q" Ichown -R www-data:www-data YOURLS- `7 p" z! D) S. n- Q
    # CentOS
    9 E% N1 v5 {7 V# ^, e) h+ [chown -R apache:apache YOURLS1 f+ f5 L9 A1 o) M$ M
    cd YOURLS
      ?% l' ~, d" j( Pcp user/config-sample.php user/config.php
    0 p: d+ i" Y; g, |$ rcp sample-public-front-page.txt index.php! [; Q9 \  `/ {9 F0 [
    cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
    - b, {9 _) |1 O1 ~3 sdefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );7 L5 T( U, T! R# b
    define( 'YOURLS_DB_PASS', '填写数据库密码' );& w# \- `  v8 t2 L3 C# Z3 h
    define( 'YOURLS_DB_NAME', '填写数据库名字' );
    - e: G  q8 @% g# 这两行基本不用改
    ; C3 B& i. r8 ^; Y+ idefine( 'YOURLS_DB_HOST', 'localhost' );1 _2 S" X1 m# N( E7 Z; N. I
    define( 'YOURLS_DB_PREFIX', 'yourls_' );
    6 _8 r$ a* c& _, x  I# 填写你的域名,不要加www形式
    ! A1 R3 `: y7 y9 y' w) }define( 'YOURLS_SITE', 'http://你的域名' );
    4 E0 c' f+ E- j/ ^# 填写时区,国内是84 C( L6 ^2 [3 }/ s: a( ], [
    define( 'YOURLS_HOURS_OFFSET', 8 );9 @0 H3 V0 F1 [& r% r; A
    # 设置为中文
    ; x( b. e; F/ r0 r+ J  k+ f: c- Ndefine( 'YOURLS_LANG', 'zh_CN' );6 S" v4 m; \9 u, k
    /** Allow multiple short URLs for a same long URL  E% @; r, k8 G! [& I  K' }+ e7 h
    ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)7 i. s& U& i: S8 t. `  R8 q' s3 _; d
    ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
    2 S. e( s( u% W# Edefine( 'YOURLS_UNIQUE_URLS', false );
    ( \$ p5 B6 K3 t* b: E2 J1 _# 设置私有权限/ S8 x+ n. c! B1 k' G( j3 s
    define( 'YOURLS_PRIVATE', true );/ c8 B9 m5 R; ]4 a% f
    : d0 f7 O4 g7 u+ j) N# E3 `
    define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );# U1 l3 O6 M/ }* e5 j
    # 后台登录用户名和密码,一行设置一个,请务必修改
    5 t" U3 ]: c1 s  J$yourls_user_passwords = array(0 {* I# ^- o8 }, J$ g$ E* x& W
            '用户名1' => '密码1',
    * }8 S0 I& D# }' q- U" U# i        // 'username2' => 'password2',
    5 @, ~* S4 v' @% d! |% A        // You can have one or more 'login'=>'password' lines7 I) j, s# L, ]2 n0 B
            );1 T+ ]1 S; T* S+ p
    /** Debug mode to output some internal information" C. D, x& r( E  H+ L
    ** Default is false for live site. Enable when coding or before submitting a new issue */2 @! \4 w8 u/ k3 R" Z- X  H( ~
    define( 'YOURLS_DEBUG', false );
    + ^+ I% J& l: O9 T3 t: e/ s9 t, o: Q: z# E# 网址中允许大些字母填62,否则填36, _& H9 n' M6 g, P( A# G9 _% \
    define( 'YOURLS_URL_CONVERT', 62 );2 n( u" M. K6 j1 q, \/ s' O1 Z
    /*
    0 b7 g3 e# a* t. ] * 36: generates all lowercase keywords (ie: 13jkm)# P8 q/ \- `) \
    * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
    $ D9 t" l0 d  z$ I$ V * Stick to one setting. It's best not to change after you've started creating links.
    ( E9 l1 D8 o& ~2 r9 } */0 d8 Z% I7 v/ [2 h+ c; m- `
    # 保留的关键字,可自己添加- t" m) n, j5 {- ^) G8 A) e& Y; J
    $yourls_reserved_URL = array(
    & |! ~6 H, \( d) W        'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',9 r/ _. A: Y+ S( x8 S$ W1 w. d
    );接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
    % k. n! l* b' z- ?4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
    ' k$ Z) G1 }/ R+ D, q4 L  Rserver {$ a! t7 ~6 V, f# v  G# \2 S
        listen   80;. J: s4 S1 s% O5 b& e% W
        server_name 你的域名;
    " C! a6 x2 b5 k# d    charset utf-8;
    , T4 R( N5 r" z( |/ g5 w6 H    root "/var/www/YOURLS";7 C1 R; b' o* p2 w/ C, W, L1 _
        location / {# v  b0 h/ r4 Q
            index  index.php index.html;
    2 q9 w5 ], }  A* W$ ^4 m        try_files $uri $uri/ /yourls-loader.php$is_args$args;  d) e6 d1 P% Z0 q3 B6 x$ t$ d
        }5 S6 f& h: g( U6 K7 f7 K
        location ~ ^/\.user\.ini {7 H- d" L& k4 t# @% F8 n6 Q8 s
                deny all;& ]6 o0 j5 t9 s; i- {
        }/ N- B3 Y  V2 n. d, N7 v
        location ~ \.php$ {$ F' W4 A/ r1 R
            try_files $uri =404;
    7 j6 R  Z2 d3 F        fastcgi_index index.php;
    , @& }8 L% V% L( _, _        # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;: ^2 @; Z; F! F! S1 W
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;: g/ |" s9 H$ |  d3 m
            include fastcgi_params;' ]9 m6 I) Q( g# q& u. }% ?
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;" z! i7 z2 ^4 q: a" E, M5 |
        }
    3 |, L# b1 B# G. e1 W4 V    location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
    + k; J) T4 `1 Q5 [, S        expires max;- i% U2 ^/ G" `4 s
            access_log off;" V/ c9 M  \3 f- i
            try_files $uri =404;
    , K; ]# r- v9 ]3 ^' q% K+ c* O    }
    4 L2 K, H' w) v  D' ~- }! i}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
    - \" D* l1 k/ ]7 k0 v, b3 ]
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
    " M. N8 h4 f6 `' ~2 o浏览器打开你的域名,配置正确的话应该能看到类似如下截图:! S& j0 M7 F! r, V7 j9 Z

    * d! }* P' D3 A
    1 T7 d3 j$ m- J; [; e6 t! s  b9 M" MYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。7 \) @% g$ ?8 a
    配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
    6 i1 y  V4 w- h7 P6 ?8 C首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:) W$ N& d" {+ i' W1 p5 S
    , l* z0 j3 w8 M0 R, K+ ~

    + m1 c& y1 ^9 F! {YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。- |0 }8 i7 D8 G: t" k1 X
    推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
    1 _% x. i1 e/ q! C6 \YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。, S: B& H0 P: X$ R. n" I
    最终网站前端效果图:
    . ~. u- F  D: d  ~
    # s1 q$ O; H6 l" D9 [2 {2 @6 {& l, T; n
    短网址前端效果图后端效果图:0 d5 f& x( ?5 O$ i
    % J( p1 N8 |7 A. S! J4 l

    4 f- S) U& e, b) r* f短网址后端效果图相对原版颜值高了不少。0 J0 Q4 b  }+ O: l  `
    参考返回目录[ol]
  • YOURLS
  • Awesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5)
  • 本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Copyright © 2001-2013 Comsenz Inc.Powered by Discuz!X3.4( 沪ICP备18024137号 )
    快速回复 返回顶部 返回列表