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

找回密码
立即注册
搜索
热搜: 活动 交友 discuz
发新帖

5万

积分

0

好友

1万

主题
发表于 2022-9-11 21:04:53 | 查看: 1105| 回复: 0
本文目录
  • 使用YOURLS搭建自己的短网址服务
  • 部署YOURLS
  • 配置YOURLS
  • 参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。# g3 H5 z% T5 k, w
    经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。6 @" a4 n( h; Z9 M1 v+ `
    本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。; _4 @2 F' z' P$ D3 ]) l5 @
    使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
    - n% t6 F$ M4 p& M' t; O
    4 b$ [7 ^: B1 `
    . @# D5 O* q) O; D域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:% o2 {& x9 [( B1 ?+ T6 k
    # Debian/Ubuntu系统安装PHP 7.4" |" X1 Q+ \8 R$ x+ J; j8 H
    apt install -y lsb-release gnupg2
    . Z* A. L5 L+ `, ^3 e4 E$ xwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -6 }0 Q  R4 f! h2 v
    echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list5 K/ y4 v$ g4 p2 k- k( G, O* g
    apt update# L) E  S3 x; o& X( Z
    apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
    , R2 g* H9 x3 x- T  | php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick+ }, b5 [3 A( u" w. ?6 w0 H
    update-alternatives --set php /usr/bin/php7.46 k( u# V9 C- j' j  s
    # 启动PHP-FPM
    2 F* Z$ ^6 A6 U. _' }1 p0 p( usystemctl start php7.4-fpm
    ' c2 z. p' V3 m' |接着安装Mysql(MariaDB):
    % W6 y* @0 r, Q: l. [( x" y) Q# Debian/Ubuntu安装Mariadb
    & _$ J0 W0 X( o: G& i$ ?! W6 capt install -y mariadb-server
    0 U6 P) z  k9 v0 G" t- p! H#CentOS安装Mariadb: b# m4 n( i. Y1 o5 s
    yum install -y mariadb-server" @) F7 f7 n- b+ a, h' B
    systemctl enable mariadb
    & R' c! m! G* a' |* b#启动Mariadb8 k8 s, |! i7 v9 b' N
    systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
    - Q8 }5 p) h5 `2 R- C; S7 N#CentOS系统安装Nginx7 ]" C6 B* Z$ _2 B4 U( k
    yum install -y nginx! R0 ^8 ]5 R; c4 M( f9 m* W
    systemctl enable nginx# M" p8 j, Z0 ]1 N6 F6 c' S
    #Debian/Ubuntu安装Nginx
    $ s$ Z, y5 ^/ N5 y; Oapt install -y nginx+ k5 ~; B3 P* c1 ^8 r: Y
    安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
    3 q7 K3 @6 s. c4 {. G1 d 部署YOURLS返回目录部署YOURLS的步骤如下:
    ; D9 b. U* q+ a2 q: ~9 W, Z1. 创建YOURLS的数据库用户名和数据库:
    ; d6 Z& |8 M  s5 ?# 进入数据库
    - [! w0 D3 R0 j) h0 b' Emysql
    & d7 y* n. R% X# 创建用户名,用户名和密码改成你自己的3 }  x' e* P4 C, E  R  I! A, m( o. B
    CREATE USER 用户名@'%' IDENTIFIED BY '密码';
    , u( H  Y1 X' K1 Z# 创建数据库,数据库名字改成你自己的" \! M& ^3 N1 R* w* l! q8 H( X: S/ J
    CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;. q) H( p; k& |, {+ h. S' m
    # 赋予权限
    . }# A2 V4 _" V0 q6 @GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
    & Y. G7 h$ Z0 r5 w# 刷新权限3 T0 Q! L3 F7 [1 \5 s. [+ R
    FLUSH PRIVILEGES;2. 下载和安装YOURLS:
    1 c# ~& H! X) [6 }9 |mkdir -p /var/www
    7 t/ |+ o6 o7 _9 H$ e) dcd /var/www/
    0 |/ s5 H! j" a: lwget https://github.com/YOURLS/YOURLS/archive/master.zip: R7 t: |8 w" l, j
    unzip master.zip
    9 t+ [( i0 [; p, J5 }8 C0 Emv YOURLS-master YOURLS
    9 l6 A1 v  P7 B* V& k# 修改网站目录权限
    7 P% J2 N9 U7 Z$ o* W, v/ J  c# Ubuntu/Debian系统  V5 k9 c" O6 J% B+ l" T
    chown -R www-data:www-data YOURLS" A. N: j2 A( v& N: N# N+ {/ M
    # CentOS
      n' I" z1 v2 B  _1 ~: Fchown -R apache:apache YOURLS6 I& l- e2 m, i  B2 ?" d5 m- E
    cd YOURLS# q+ p& }, Q  O5 a
    cp user/config-sample.php user/config.php- X" L5 T) h" _$ G/ G+ R+ \3 F1 A4 x
    cp sample-public-front-page.txt index.php
    # `6 j5 p* w+ h4 q# q7 X( @! B. Xcp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:9 d# V  n& J  ]& \# s7 t! s
    define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
    % q; N, m, ?/ {define( 'YOURLS_DB_PASS', '填写数据库密码' );
    5 B% l' x# N9 V) X# Idefine( 'YOURLS_DB_NAME', '填写数据库名字' );6 y' H! L0 p: H3 q( D8 V* Y
    # 这两行基本不用改
    . \$ \/ ^4 c9 \( q# W8 odefine( 'YOURLS_DB_HOST', 'localhost' );
    0 \8 s7 A4 f! }, m, Pdefine( 'YOURLS_DB_PREFIX', 'yourls_' );' j2 w" `3 e6 k" {1 V7 }, W
    # 填写你的域名,不要加www形式& U+ v/ g1 R' }
    define( 'YOURLS_SITE', 'http://你的域名' );6 y* Q- y% d0 b. \
    # 填写时区,国内是8
    3 X1 {7 _' M0 G/ K0 n, Odefine( 'YOURLS_HOURS_OFFSET', 8 );
    : @: H* z7 w1 a9 M) [, @# 设置为中文
    : I# S, y: ^2 S0 a' D, H- z) Kdefine( 'YOURLS_LANG', 'zh_CN' );
    + H. O4 c3 R! t# U/** Allow multiple short URLs for a same long URL
    2 z, J/ ]! X1 A6 h ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
    * q/ a1 y0 F$ A! i: P' W ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
    ! D' F# B6 g9 i- R% y0 vdefine( 'YOURLS_UNIQUE_URLS', false );
    / f; F" K0 d2 q9 |# 设置私有权限
    9 H) l# {/ t% \4 Q( G1 Adefine( 'YOURLS_PRIVATE', true );
    5 {- ?3 z2 D2 v5 u+ N& ?% k
    8 I7 i% [0 r1 `% P' Bdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );6 n; t$ g7 |+ q; l
    # 后台登录用户名和密码,一行设置一个,请务必修改
    3 e0 M: t% }9 Z# @$yourls_user_passwords = array($ }$ Q/ B/ `' Z! ^* X; \
            '用户名1' => '密码1',
    0 x) o8 y6 W7 V& u0 A        // 'username2' => 'password2',: n8 K: g5 P0 M& _! ?- c$ w: X4 Y
            // You can have one or more 'login'=>'password' lines
    * U# W; n8 p5 u8 X        );- {8 v2 M1 J! z$ v
    /** Debug mode to output some internal information
    $ n: y4 ^  s' {7 k7 e: E& f ** Default is false for live site. Enable when coding or before submitting a new issue */1 }6 y' `0 n! J2 T. {) m- }* o
    define( 'YOURLS_DEBUG', false );( R( k# ^) j" S" p6 P% v/ P2 E3 F
    # 网址中允许大些字母填62,否则填36- c( I4 e5 D% B! Y
    define( 'YOURLS_URL_CONVERT', 62 );/ v/ ~% E. Z8 ]/ I. w
    /*+ d) e/ w, _& Q& k! r
    * 36: generates all lowercase keywords (ie: 13jkm)
    ( U( O8 t* {* [5 K2 Y1 O * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
    / N4 g! O! y7 `0 c2 F" \ * Stick to one setting. It's best not to change after you've started creating links.' o. p- u' V+ c. q% M
    */
    & c- u1 c, _3 o. E9 N; ?3 R# 保留的关键字,可自己添加
    ; {' k  G9 Y  t$yourls_reserved_URL = array(
    8 h* g7 I+ x! m: G) q* f! V; W        'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
    . n1 L! s- q* t/ U);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
    6 I. N) S( K- r/ u  ?4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容: i' C! g* e* y) K; b8 l! A
    server {
      P. y4 P. W5 e    listen   80;
    ( }6 Z7 h- `9 \# _0 y    server_name 你的域名;1 V: o# q1 Q* L; M; L
        charset utf-8;
    7 x# {/ i+ ~3 [) Z5 N/ w& ?( h    root "/var/www/YOURLS";
    * g9 i' ?: F/ Y+ Q* N0 l* g  G' T& M6 t    location / {
    ' l3 m8 S! S6 h7 X0 ?        index  index.php index.html;+ v1 x7 ]# c, S( t
            try_files $uri $uri/ /yourls-loader.php$is_args$args;: Z, ^2 L7 o" A. Q  G
        }
    " P: |5 ~1 N4 c, \' d    location ~ ^/\.user\.ini {: B! u% K: S& X5 c# R$ R
                deny all;
    % ?, A) N. t. p) \    }3 A0 C- ~( d/ s4 \+ m
        location ~ \.php$ {
    : ]- V6 V" u% q5 M' P        try_files $uri =404;
    4 y. C6 P: t4 Z5 T; W        fastcgi_index index.php;2 ?% B& z1 O+ g0 m
            # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;, K6 g/ U9 j; l; d/ b
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    5 f; F0 ^* P' Q2 V% N4 X7 d* Q! ?        include fastcgi_params;2 _" W. M2 }7 A' I
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;# n: _3 @" l& F2 d6 G% ~6 d
        }
    + S- e! P! @% b( L, S: Y4 h    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# o1 S3 c% f6 U' G$ u) b
            expires max;5 f2 Q5 h: B$ k6 ^; v( Q7 a
            access_log off;
    ; S) r5 I" W2 e% @" k        try_files $uri =404;
    # B8 J8 F( x/ ?# n2 w    }
    - Q4 ?, ^. ]) S! V% n}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
    : r6 x: f; L3 b" P' b
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。; i% l" D. }& ?) l
    浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
    4 E3 a' o( ^! h; G: V
    ! M$ c" t$ ~% z8 `! s+ ~5 f0 U- h, w6 K8 v: o
    YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。/ b( x! m! U% j* p1 m5 a* P" X
    配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
    5 d+ R$ N& E/ i' F) \; ]首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
    7 K9 o8 V+ ]* L. t4 c$ }  t
    9 ^. |* t  _3 D' y6 B7 L# K- i1 B$ V, ?* y2 b4 l
    YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
    3 D; X/ B0 o9 U, G推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
    ' z- P& z8 b( A$ o2 oYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。" C' N3 _5 h+ s" ?
    最终网站前端效果图:
    7 _& E# `) l  j/ X% E" V7 h# H' U( b
    " L0 T4 S- a: f" R
    短网址前端效果图后端效果图:2 W! Z$ V- U( P; b$ b+ @* C3 F/ H; T

    # u' N- \. T+ r7 _3 \8 J4 b9 O- Q  Y  [" a! W# ^/ A
    短网址后端效果图相对原版颜值高了不少。
    ! q/ l1 y. O; a2 i 参考返回目录[ol]
  • YOURLS
  • Awesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5)
  • 本帖子中包含更多资源

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

    收藏回复 显示全部楼层 道具 举报

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

    QQ|Archiver|手机版|小黑屋|青浦海洋数码电脑城 ( 沪ICP备18024137号 )

    GMT+8, 2026-8-16 17:49 , Processed in 0.182725 second(s), 23 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表