扫一扫,微信登陆

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

搜索
查看: 950|回复: 0

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

[复制链接]

1万

主题

1万

帖子

5万

积分

论坛元老

Rank: 8Rank: 8

积分
56206
发表于 2022-9-11 21:04:53 | 显示全部楼层 |阅读模式
本文目录
  • 使用YOURLS搭建自己的短网址服务
  • 部署YOURLS
  • 配置YOURLS
  • 参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。6 C- T( D) W. M, f
    经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。; h8 B' V. i3 \9 [0 ?
    本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
    , W3 f. U6 x, R 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
    # W# O0 B) s" F6 r# R0 o8 A( a
    % K+ n" \/ {9 W, b/ T$ O9 k: U9 u" g5 Y6 p
    域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
    6 R# K( @8 w, t; f1 I, d# Debian/Ubuntu系统安装PHP 7.4
    . `: H8 u7 ^/ F6 U( dapt install -y lsb-release gnupg2/ q: t, X+ a4 M: x+ l
    wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -: q# h$ b8 `0 b4 y: I# O2 F
    echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list/ ?& l/ Q/ i5 e3 |- N% f
    apt update
    3 X( W, N1 D2 xapt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \  d+ w7 Q+ C/ i2 y, y
    php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick* v$ a' p# Y  D- t
    update-alternatives --set php /usr/bin/php7.4& p" B# d% ?) t
    # 启动PHP-FPM0 V/ M/ @6 g" [2 ~# {3 x& w
    systemctl start php7.4-fpm
    3 Y9 B- Z- H) C9 r, }# B4 m% R1 X接着安装Mysql(MariaDB):; J1 ~3 ?. W4 B9 B2 p6 u$ r
    # Debian/Ubuntu安装Mariadb. \* P9 S) M$ Q" o; }2 L9 A
    apt install -y mariadb-server
    : u2 t# r0 m6 i9 c/ X# D#CentOS安装Mariadb2 ~$ ~; T  k2 S7 K$ H. z' {# [3 P! G1 y
    yum install -y mariadb-server
    : w7 N4 j' q4 o& y6 u! L8 xsystemctl enable mariadb' B8 w: F) k# ]+ u$ G
    #启动Mariadb! `3 ^/ t  \; g! X- u* o
    systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
    & H  {0 i( D9 S/ ?& w#CentOS系统安装Nginx, B- y7 m0 \1 J6 Y' \; l0 A
    yum install -y nginx
    - w) l( ~8 k; [* P! Q/ |9 |% Asystemctl enable nginx+ l9 l; g5 g2 N2 y
    #Debian/Ubuntu安装Nginx
    2 C$ ~, G4 I( |apt install -y nginx+ c' |6 k/ _7 a. ]" l0 X. x+ J
    安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。0 V6 W9 H) r/ D& {
    部署YOURLS返回目录部署YOURLS的步骤如下:# v( I! m. W) d
    1. 创建YOURLS的数据库用户名和数据库:
    * U1 F1 L! y/ y! r, G- n# 进入数据库" [' i8 Z& \6 b7 }% h2 Y
    mysql
    ( e2 r9 g9 N3 S' O# 创建用户名,用户名和密码改成你自己的) z/ d) ?6 k" a: H5 l5 ^
    CREATE USER 用户名@'%' IDENTIFIED BY '密码';
    & j+ J2 a8 B4 H# 创建数据库,数据库名字改成你自己的
    : l) A* @" k' D+ y& I$ }CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;) x0 [, ]' Q& E' i1 O" x1 R
    # 赋予权限
    ! o" q( R, u3 l. I' G/ Z2 l: cGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
    4 y& }/ u) `5 s: ~/ \0 I5 v# 刷新权限# c3 X, u% G, @
    FLUSH PRIVILEGES;2. 下载和安装YOURLS:! o/ p: K4 e0 m" j( B3 C% X& u
    mkdir -p /var/www
    8 b8 I# L# L0 U) W* v) A8 f8 v$ Bcd /var/www/: q% F- H% h+ _! W  A
    wget https://github.com/YOURLS/YOURLS/archive/master.zip
    * R. @# }. X5 m- k; uunzip master.zip
    4 u! {2 g! o( t6 c/ O, X1 H; jmv YOURLS-master YOURLS
    * v- N- J1 h4 o3 [# 修改网站目录权限  d  C; \* ~% B" @- @( u- L
    # Ubuntu/Debian系统4 K* E. [1 A; f+ e( h5 X+ h7 i, y
    chown -R www-data:www-data YOURLS0 H9 c' @" N& D2 `, C
    # CentOS! G2 n( C( T" {
    chown -R apache:apache YOURLS
    + N6 t$ {  d& h/ h; y+ Acd YOURLS9 T: k6 J+ Y4 ^1 ^
    cp user/config-sample.php user/config.php  c' o; [- e2 |) C( Q6 E4 v; S
    cp sample-public-front-page.txt index.php8 i$ t1 z. m' i) A) p' i  }4 x
    cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:: R) B; I/ G2 N" }4 L
    define( 'YOURLS_DB_USER', '填写你的数据库用户名' );0 V3 y: q$ I8 g' q
    define( 'YOURLS_DB_PASS', '填写数据库密码' );2 k# h. W2 }# P- U8 f, T' @
    define( 'YOURLS_DB_NAME', '填写数据库名字' );' m: d0 a1 P- W8 \' |3 X( @0 X% j/ D
    # 这两行基本不用改
    3 r8 s8 J1 F4 B/ |8 tdefine( 'YOURLS_DB_HOST', 'localhost' );# i: n* V; d- N* w9 u
    define( 'YOURLS_DB_PREFIX', 'yourls_' );
    , }3 u9 O# n0 f) X# 填写你的域名,不要加www形式
    - Y2 e* _8 F! u: y' mdefine( 'YOURLS_SITE', 'http://你的域名' );
    . I2 f# W& z, T# 填写时区,国内是8  H0 c3 \/ S  N2 `$ e7 J2 S+ f
    define( 'YOURLS_HOURS_OFFSET', 8 );% m) Q. N9 h+ W. s: H
    # 设置为中文
    / a* ^4 |6 P4 ?+ m8 Fdefine( 'YOURLS_LANG', 'zh_CN' );7 _% }' b2 _( _: I0 d
    /** Allow multiple short URLs for a same long URL) T& q  r& L& n+ p# @/ b% V
    ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
    & R4 e1 Q  u0 @+ j ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */3 a6 x( q2 M* ~, s0 C7 s1 k8 N8 n
    define( 'YOURLS_UNIQUE_URLS', false );$ K/ C- Y3 y6 K! r. J$ s
    # 设置私有权限
    . N2 ]4 A0 _' xdefine( 'YOURLS_PRIVATE', true );
    / L7 O5 T0 d% v+ P" x2 ]1 A  [
    : x' m7 @+ R* n! r5 D; bdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
    2 f. i5 N' ]4 \, a) ~" l) U# 后台登录用户名和密码,一行设置一个,请务必修改
    : {9 w) n1 I8 E, b5 M) N3 i$yourls_user_passwords = array(2 b6 N2 `; d4 J( j9 s4 k
            '用户名1' => '密码1',0 ^! ~/ r1 X) j6 F% u& W* z
            // 'username2' => 'password2',; B" n4 x  S; Q6 `
            // You can have one or more 'login'=>'password' lines3 n  d9 g9 Y; ]. A
            );) l4 Y# o8 J$ Z9 T$ I
    /** Debug mode to output some internal information& e6 b6 c( V3 B0 e* O" h: g
    ** Default is false for live site. Enable when coding or before submitting a new issue */( `4 s* R  A1 t0 h7 U$ Y& L
    define( 'YOURLS_DEBUG', false );% P8 A: m4 U) p* }2 r2 x( |, B
    # 网址中允许大些字母填62,否则填36
    . M( {  _( }4 ~' b9 Cdefine( 'YOURLS_URL_CONVERT', 62 );6 _# w* [8 q9 M1 i# `8 Z4 l* ^
    /*! h) U7 D# H+ [! x
    * 36: generates all lowercase keywords (ie: 13jkm)) }2 w8 o/ H$ b* z( q
    * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
    ' b( |3 |  V; `+ r$ A. D+ }( I& f7 B; M * Stick to one setting. It's best not to change after you've started creating links.
    " o$ s/ J( K) Z8 p; O1 y7 n */
    " Y- v8 M% s( |6 _8 |% k# 保留的关键字,可自己添加
    3 t: t0 G$ T2 l1 J$yourls_reserved_URL = array(
    : `' R, w  e+ a6 P  a9 D        'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',' r) P+ F, d* G% f& w
    );接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
    , z3 H+ W2 I% i4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
    # }& t' b6 I) W: r2 O2 Y5 Gserver {0 y3 p/ ?: U/ z0 a1 D
        listen   80;$ t* `0 B: A1 U3 v5 K( i1 {
        server_name 你的域名;# n  l3 y1 v# `, z0 _
        charset utf-8;  {8 f, L1 c% \8 K3 o( w5 {; A/ a
        root "/var/www/YOURLS";9 Z6 i. X: B" r& u6 G5 k$ |$ Y$ b
        location / {, A& v8 n  r$ }) w  M4 V
            index  index.php index.html;8 _" D- L( v" R/ S
            try_files $uri $uri/ /yourls-loader.php$is_args$args;" v2 `4 `( s9 `
        }
    & S( Y: _7 T! h; Z; b! i    location ~ ^/\.user\.ini {/ p/ C5 N% `( C2 v3 A
                deny all;& s& Z0 R; O" G( S8 F) N* K7 O" t( {
        }7 a! M% l, ^: U, A) ~
        location ~ \.php$ {5 R$ B1 x3 K) f+ r. E: F0 |3 D  x
            try_files $uri =404;' e8 o6 s$ i7 S
            fastcgi_index index.php;
    ) u6 T* T' e/ t6 A$ t        # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;1 h( t8 e* U7 @$ f8 H
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
      N7 W0 h3 m  V+ Y        include fastcgi_params;& L7 g* F" y- a$ W3 s. f  K- X
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    % n& d' Q1 }. \1 L' c: O    }
    ; C1 e0 L! G4 ?* k' X! e3 ~. o& y    location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
    $ J* Y# T) l. n7 h" Q' v        expires max;
    ! x' J- s0 O/ f7 O' I+ F* P$ K        access_log off;! ]) L" z) E' b' z5 H+ I3 _
            try_files $uri =404;
    / H0 T! ]) s- z1 \    }
    # ^! g: ~4 @, V. K}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书  T0 Y: Z! R! c) L
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
    " Y; B7 d" k4 E! d* i0 `浏览器打开你的域名,配置正确的话应该能看到类似如下截图:" _( d$ D6 J: P2 e& K. O. S/ r

    3 n# q$ f0 P- |1 h" e- G" ^* Y% m, |3 v7 y
    YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
    8 S/ H2 n( D) U' v* Y, K 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
    9 Q' a8 \* Y- c3 ~$ ^. i首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:0 M. u3 `+ v9 d0 E' z# |

    ) M& {" _# Z3 \  t
    # N9 }2 S' F; |% M$ g2 f/ ^YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。3 J9 V9 H$ A# z% c: p- s
    推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。; Y0 t9 Z' ^7 @0 T5 ?
    YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
    / @7 G: z1 J- O) H1 F: m最终网站前端效果图:
    # F' J% R: k" N9 }6 P
    7 C7 s9 ^* H6 u0 w
    2 r* G! W/ M3 O) Z/ T5 j6 i短网址前端效果图后端效果图:$ A& K6 }9 V6 H0 W7 J, |# {
    " m+ T9 }6 o' T) b* F

    2 J5 _$ \9 d' ?6 ~9 q# X短网址后端效果图相对原版颜值高了不少。! ^, C' w) z/ M. h, Z4 z
    参考返回目录[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号 )
    快速回复 返回顶部 返回列表