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

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

5万

积分

0

好友

1万

主题
发表于 2022-9-11 21:04:53 | 查看: 1239| 回复: 0
本文目录
  • 使用YOURLS搭建自己的短网址服务
  • 部署YOURLS
  • 配置YOURLS
  • 参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。3 ~! o; z" g- ]5 E* f3 d
    经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。/ \4 W  V" F! i7 N4 U: [
    本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
      M- _" o2 f9 L) v: y" u: h 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。5 ^. E) {0 G/ ~4 V& p& ^+ _

    & ]6 F+ E9 V* N
    * J. g6 z4 h: C. n域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
    5 F! j4 ~# C/ R# Debian/Ubuntu系统安装PHP 7.4
    + h# U, f- v0 T! ^. n, sapt install -y lsb-release gnupg25 Y: l, p  O& e' m1 {3 K
    wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
    1 }; M4 }2 A2 j( b1 ~echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list; w& C: g+ _% I' v( Y2 T
    apt update
    0 f' L0 ~3 ~# N! X, Lapt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \; o, }8 C- E+ u) q
    php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
    ' K6 F1 M0 P3 kupdate-alternatives --set php /usr/bin/php7.4
    & B+ ?0 B  G; j7 o! ?# _# 启动PHP-FPM: e  E6 L3 ?. P6 T- _) `
    systemctl start php7.4-fpm6 ^2 y, v: s8 ~. b
    接着安装Mysql(MariaDB):, h' w2 W1 {' w
    # Debian/Ubuntu安装Mariadb
    6 }' x" Z9 @9 o, V0 A: uapt install -y mariadb-server
    4 c- n2 S5 {1 x9 ^& P: @# T#CentOS安装Mariadb
    7 U( U( o# @. T! D! Pyum install -y mariadb-server
    , f. S! V9 F/ Y& `systemctl enable mariadb0 w. d- r, ?6 K# e7 g+ h
    #启动Mariadb
    " h; _' f# I% x0 Y& N  }. k% l: Csystemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
    3 G' T8 Z5 E% j- ]#CentOS系统安装Nginx4 ~- f* z% z! f" a! y$ z8 |
    yum install -y nginx
    , b6 r6 i/ N( t  osystemctl enable nginx
    : c; x9 \) t: N( l- V/ D. J" e9 P% }#Debian/Ubuntu安装Nginx
    1 D  b, m' p" v+ Zapt install -y nginx. z' L; ?; I5 p) E- E4 ?
    安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。& }( ]# P7 ~8 E3 s% W2 p
    部署YOURLS返回目录部署YOURLS的步骤如下:3 c$ R3 z4 E* h9 |4 a6 F
    1. 创建YOURLS的数据库用户名和数据库:# s( D1 Y% `' Q; U+ _
    # 进入数据库
    ; g1 j+ s: B+ c0 x* smysql
    9 k5 Q- A  Z- R+ A$ Y# A9 a4 k  {# 创建用户名,用户名和密码改成你自己的' U; e, Q7 e* q
    CREATE USER 用户名@'%' IDENTIFIED BY '密码';
    5 A0 P& K" [" ]9 z( ?- b% T( v# 创建数据库,数据库名字改成你自己的% x" m5 X2 ~) e2 q2 P; k
    CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;& o- S5 f  F, z8 n6 G8 d* u
    # 赋予权限+ {* Y4 |$ {9 f6 ?4 Q
    GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
    8 W( y- @% \$ r" b9 ^/ A# 刷新权限" W: K7 x" |+ }# Y  [" q: m4 @" m7 o
    FLUSH PRIVILEGES;2. 下载和安装YOURLS:; ?# m' q2 `' E, {% Q
    mkdir -p /var/www1 D/ B/ y$ h; r% d
    cd /var/www/, R) Y3 d' B( X+ J
    wget https://github.com/YOURLS/YOURLS/archive/master.zip1 o5 e7 W; q" A  I2 Z
    unzip master.zip
    4 _% @7 a) @# b# d4 ^6 j4 Gmv YOURLS-master YOURLS# y7 j2 r! \5 m% c4 U  L( ?
    # 修改网站目录权限1 V/ _" ]3 }3 {$ p6 S/ w( z) ?
    # Ubuntu/Debian系统
    + t# }% J! a' `$ _, K2 O! m9 a" W: kchown -R www-data:www-data YOURLS
    / f3 I* l2 l+ ~# N' B# CentOS, S6 k" ^) {+ n3 n
    chown -R apache:apache YOURLS
    ! y; V+ B9 F0 e; c( M" gcd YOURLS
    ) v. c1 o  R; `3 ?" ?cp user/config-sample.php user/config.php. E" ~% ~  J- v% `6 P6 S) w. `; U
    cp sample-public-front-page.txt index.php' j" o/ O4 j0 @  F9 D
    cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
    6 [7 M" S! T  `0 t- qdefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );
    ; D/ Y' d7 p5 {* k/ rdefine( 'YOURLS_DB_PASS', '填写数据库密码' );9 J1 r) ~5 w- y. m& ], v
    define( 'YOURLS_DB_NAME', '填写数据库名字' );
    2 z3 B! o8 n& n0 g3 Z2 [! P. M$ u# 这两行基本不用改
    3 c5 l  d/ f  E  t4 ]4 C$ ]define( 'YOURLS_DB_HOST', 'localhost' );0 s% l' U! C4 K- N
    define( 'YOURLS_DB_PREFIX', 'yourls_' );
    ' c0 D' |* h6 w" t9 ?$ j# 填写你的域名,不要加www形式/ n6 H& ^8 z. z+ k9 [. m2 b, G
    define( 'YOURLS_SITE', 'http://你的域名' );
    4 F( x/ W6 J: v2 A; \# 填写时区,国内是8
    2 k- l* s7 b; }2 A0 H) L8 b* hdefine( 'YOURLS_HOURS_OFFSET', 8 );4 E) e' _7 q( y& D
    # 设置为中文
    : L; h  d" Y% ^( P: P* N% ?define( 'YOURLS_LANG', 'zh_CN' );0 }6 A6 @2 Y# K1 `, u
    /** Allow multiple short URLs for a same long URL+ }! J* U/ R9 o6 {( K+ p# \( t- |
    ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior), r+ m  @: W! ]* e2 T+ V: q
    ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */. q5 ]1 U7 B: |" h$ W( e; Q
    define( 'YOURLS_UNIQUE_URLS', false );' K( z+ J1 J& V" X5 O) c
    # 设置私有权限
      ]# |0 {4 h) i8 g1 Vdefine( 'YOURLS_PRIVATE', true );% R# e6 k8 W, v6 L4 o7 R

    0 h5 Q0 c+ R; ~1 A$ o* H/ ?+ Rdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
      x3 Q, \: g+ G1 r4 F  I' V3 u# 后台登录用户名和密码,一行设置一个,请务必修改
    & f; @  p6 W# T; \  w1 Z$yourls_user_passwords = array(; d) _1 U, n8 l- w* k  Y
            '用户名1' => '密码1',
    & o7 l  G- j6 f* I( u, k        // 'username2' => 'password2',1 d) M9 y6 h3 @: h+ m3 F
            // You can have one or more 'login'=>'password' lines0 ?5 v: d9 ?. N, D
            );, O$ {! u; [: A0 \9 r, f
    /** Debug mode to output some internal information4 E( B# x1 X2 D( _; K+ w
    ** Default is false for live site. Enable when coding or before submitting a new issue */
    1 e8 P9 e# I6 v, q+ O7 M9 Cdefine( 'YOURLS_DEBUG', false );; r* c5 _/ }  K+ t8 ^
    # 网址中允许大些字母填62,否则填36
    % D/ H+ y, `% R& Z' gdefine( 'YOURLS_URL_CONVERT', 62 );
    + ^, ?6 ]/ h  Q: s' P0 T/*4 U8 K$ K& S0 M! {% b
    * 36: generates all lowercase keywords (ie: 13jkm)
    2 |: B5 v( p! a! B+ `" @/ G6 ` * 62: generates mixed case keywords (ie: 13jKm or 13JKm)- c# w5 f# e4 q$ R& P& [4 b; a4 h
    * Stick to one setting. It's best not to change after you've started creating links.
    3 |9 @$ T" r+ x2 b' x" b* H */+ N3 K% u; P! o) ~# q6 Q
    # 保留的关键字,可自己添加. |# A2 S1 T  |6 q* z* `/ n
    $yourls_reserved_URL = array(
    3 Q5 l( S, f3 j; n        'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
    ) U: m) I) f" h9 Z);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。9 V6 d/ j- \1 z2 p
    4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容" W6 O  |& S% T. S! l; U0 d
    server {% `- M, P+ s- P) m# L- A
        listen   80;
    / g! l# C$ q, k1 ?    server_name 你的域名;
    5 K7 l6 r) J( ]; x    charset utf-8;
    2 f9 Q: z% j+ b6 ]5 Q4 [    root "/var/www/YOURLS";9 o# C" q) N" M3 P
        location / {) G- Z9 L& y+ o# c! H# x3 [* {+ T
            index  index.php index.html;) u. o0 R8 _0 ?* G
            try_files $uri $uri/ /yourls-loader.php$is_args$args;4 W, r% d- W8 H8 U6 H0 c
        }
    - k# o1 f3 Z( {9 v5 p5 G    location ~ ^/\.user\.ini {+ M# _2 D* X! b( d& \0 t
                deny all;* |- e8 M$ e. Y2 h
        }8 b* I! L; f+ y) A0 ?! k: @
        location ~ \.php$ {% A6 {6 \# T* g+ a  {6 l; A" d0 H
            try_files $uri =404;9 x' Y7 `5 N6 D
            fastcgi_index index.php;
    ( h2 h$ ?2 g( K7 G7 k5 M: I        # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
    ) i- m( F2 v) `" u7 i; {2 ?' i        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    ! O4 T* M' z) l. I" m( b        include fastcgi_params;2 a9 M* f% S" Y$ I& L6 a
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    - ]0 K7 L* t( u4 N. `5 m    }
    3 q+ K( t' u4 \9 M! C4 t( z" o    location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {/ K6 s/ N8 R" B; \! g
            expires max;/ H( f2 M) V, ^0 Y4 K
            access_log off;: S5 o0 f+ k4 Y
            try_files $uri =404;' Z; ~+ C  M$ i9 K
        }
    & v2 O0 Z. m- v. A# N4 |}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
    6 y& ^  y: t( |0 g" I8 K; S. z! C( j
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。  K( D8 O8 M# B6 j- r7 D0 F$ c
    浏览器打开你的域名,配置正确的话应该能看到类似如下截图:4 `4 j5 \6 x3 S; P" m; x0 B  M

    ! e3 m2 [: L2 e! u# }
    + k( G6 ~" p# s, I6 qYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。3 v; e: x; y5 c: P! t5 N5 R6 M# r2 I
    配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
    0 I9 @. n$ R1 ~) P: O7 l首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:: i' i- Y- r; A& B/ v& b
    . x8 d2 t, B( w) Y$ y' o: N
    # z$ e' p" G  s" w
    YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
    0 G& o, P' D9 p: }推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
    & G! _- V' l4 r1 A* O& RYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。# m) l8 k2 {2 k: J! z) U
    最终网站前端效果图:% U! M' h1 L9 i3 D3 a
    " W6 y8 _' v% f. H' O

    , ?1 E# ~. {" V1 U9 B9 @* C+ [短网址前端效果图后端效果图:
    5 I4 t% \8 @; N1 |; ^; L; l6 J$ ?7 R8 m2 ^

    1 V+ ?% V% F' e; m; |2 Q短网址后端效果图相对原版颜值高了不少。
    * |# t- W8 ^  O" f6 Y 参考返回目录[ol]
  • YOURLS
  • Awesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5)
  • 本帖子中包含更多资源

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

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

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

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

    GMT+8, 2026-10-17 08:13 , Processed in 0.282865 second(s), 23 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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