网站公告 | 本论坛只支持微信登录!暂时不支持手动注册会员!微信登录可以获取本站所有资源!

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

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

5万

积分

0

好友

1万

主题
发表于 2022-9-11 21:04:53 | 查看: 1037| 回复: 0
本文目录
  • 使用YOURLS搭建自己的短网址服务
  • 部署YOURLS
  • 配置YOURLS
  • 参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。) j2 w( O" I: F. [0 D
    经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。4 d* A( z! l7 `
    本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。+ Y4 t7 T' {5 t! e+ }+ [$ a7 U
    使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
    ' i. ?' L5 Q5 k2 I3 O3 l
    ! s3 z0 N" b: f
    - y% h3 t( w' x域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
    0 l9 x( ~! @4 [. N# Debian/Ubuntu系统安装PHP 7.4% c& \6 {. p- R# `5 i
    apt install -y lsb-release gnupg2
    $ f4 p: v  y8 ^1 L  l' ~' T% `wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -6 I9 }* `$ y# I1 k
    echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
    ( [# X% O. j2 V9 Capt update  M; a2 E/ y( k( Q3 A
    apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
    ) c+ Q" w6 v! m: Q1 T3 q8 S php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick" n" b5 {: b1 X% m; B2 s, h
    update-alternatives --set php /usr/bin/php7.4) p' ^# }- s. N
    # 启动PHP-FPM
    9 F6 O6 c5 _% M0 qsystemctl start php7.4-fpm- n& w8 K8 L/ g! ^3 J
    接着安装Mysql(MariaDB):5 R  {& A% ?; n8 Y/ s$ A) e5 C
    # Debian/Ubuntu安装Mariadb- w' Y/ g& s0 O- U% l7 K5 x6 G
    apt install -y mariadb-server1 Y( Z- F; I' [( W  q
    #CentOS安装Mariadb4 S  D2 y# I3 l3 e+ I. c/ G' j
    yum install -y mariadb-server4 O$ p' G: o; b- X8 m
    systemctl enable mariadb
    9 D/ }5 n* K% K$ }, A#启动Mariadb
    3 x  W4 ?. [6 |2 q7 p" Hsystemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
      s& [% t. c  ?1 D. d$ b9 Z0 ^#CentOS系统安装Nginx
    , N- M( J, D9 oyum install -y nginx* p( ?% _- z! e" L/ a
    systemctl enable nginx  k, h: K- D/ Z+ Z
    #Debian/Ubuntu安装Nginx
    # u1 ?& e8 B- _) g- rapt install -y nginx3 Y1 B" ]1 P+ v  F2 j' l
    安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。# D8 w2 R9 _# e6 d1 o% n
    部署YOURLS返回目录部署YOURLS的步骤如下:3 m, G8 |) V/ p( ]3 y" F
    1. 创建YOURLS的数据库用户名和数据库:
    + n* U$ ?& n7 y8 R! i! ]# 进入数据库: V0 J! e6 p  c" S: s" F1 z
    mysql0 a  g& m7 X1 y3 {7 W
    # 创建用户名,用户名和密码改成你自己的
    * f" u0 M4 G* fCREATE USER 用户名@'%' IDENTIFIED BY '密码';5 H5 X9 X3 M6 M# h
    # 创建数据库,数据库名字改成你自己的
    3 `3 ?# O3 r  i3 SCREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
    4 m1 }1 e3 a, b4 ~$ l2 ?3 j# ^$ I8 T# 赋予权限
    6 x% c9 i# A+ m% J; @GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
    2 q% K$ w- N" s. K8 p4 h. B2 e. T# 刷新权限
    , a5 _& ]; j) w' v& NFLUSH PRIVILEGES;2. 下载和安装YOURLS:9 q% c) E  T( i$ ^5 S7 g  ~  z% ^- }
    mkdir -p /var/www
    4 Z3 Z# b7 m! T# ^cd /var/www/
    , {) a/ m( I3 rwget https://github.com/YOURLS/YOURLS/archive/master.zip8 K, A3 b! k, ~
    unzip master.zip+ P" E# e# q0 C
    mv YOURLS-master YOURLS% t3 r% T7 {3 |- ~2 \
    # 修改网站目录权限
    $ ?; y* B7 N' S# Ubuntu/Debian系统3 U9 {) D. l4 [8 f3 o- ~5 @2 J
    chown -R www-data:www-data YOURLS
    3 |8 k$ I7 f& i/ K4 O" q- @% [5 M# CentOS5 s* f1 c! U1 [8 R  x! ?0 |
    chown -R apache:apache YOURLS. ?" l: U" C/ Y
    cd YOURLS
    7 x1 l$ j) I; W) A+ r1 K. {) Fcp user/config-sample.php user/config.php/ O* P$ `( ?3 W) H8 N' `7 T  N# i
    cp sample-public-front-page.txt index.php7 x$ x$ q  r$ f# a
    cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:0 G2 l7 `' Y: \" m% e, l) J" A
    define( 'YOURLS_DB_USER', '填写你的数据库用户名' );0 T5 ~+ Z4 ]/ Y6 E$ w* ?4 a( L' m3 a
    define( 'YOURLS_DB_PASS', '填写数据库密码' );
    & o0 \% ~+ S. c# w% fdefine( 'YOURLS_DB_NAME', '填写数据库名字' );
    : K1 V& \1 t) h2 c3 ~4 {5 P# 这两行基本不用改
    ( v( X3 u) u4 y- ]- Idefine( 'YOURLS_DB_HOST', 'localhost' );
    1 G+ e+ P  ~& w- ]) [define( 'YOURLS_DB_PREFIX', 'yourls_' );
    , e: Q0 s# w8 A, \7 O# 填写你的域名,不要加www形式: |) G+ K, w# Z' q9 x6 |/ Q( D
    define( 'YOURLS_SITE', 'http://你的域名' );
    ) P2 a. y+ r2 V- Q5 }0 H6 F# 填写时区,国内是85 O9 a3 F5 D! {! n) d4 \
    define( 'YOURLS_HOURS_OFFSET', 8 );+ l  t, r$ o' O( W- u3 ]9 L7 n/ K
    # 设置为中文9 C( ~, ~$ `' ^8 x. }$ u
    define( 'YOURLS_LANG', 'zh_CN' );, D2 W/ |( C7 ]$ T
    /** Allow multiple short URLs for a same long URL
    4 ?" R6 m- {% S2 M; S. Z ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
    ( G" u1 m3 v( _) \ ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
    + f6 v% I% q. P, qdefine( 'YOURLS_UNIQUE_URLS', false );
    ) o; E8 M0 ^0 t3 S$ y; F. g# 设置私有权限1 J& |& z) o' m: e; `* K. H8 l& X
    define( 'YOURLS_PRIVATE', true );4 v% l% B5 h& H! F

    + m2 n4 S% f* R. X+ zdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
    0 Z: A9 w3 ], |# 后台登录用户名和密码,一行设置一个,请务必修改
    2 `" T5 [( K9 W$yourls_user_passwords = array(
    0 m3 q8 J- w) Z2 Y1 Q        '用户名1' => '密码1',9 N. }* r  Y! _5 R+ b# O6 J. O
            // 'username2' => 'password2',
    4 R2 l& W: F6 y% q+ j& i  w6 V# M- l        // You can have one or more 'login'=>'password' lines, O* R* w2 A: Q8 S* Z
            );
    8 Z: n* `! U% h" M( L7 ]/** Debug mode to output some internal information* D# ~' j6 V+ v( z/ H
    ** Default is false for live site. Enable when coding or before submitting a new issue */9 I+ o0 N/ x8 S  Y+ ^1 l/ I
    define( 'YOURLS_DEBUG', false );* x' ~1 \& c+ n; [2 J, k
    # 网址中允许大些字母填62,否则填360 {4 |6 \5 x& Q7 o$ \
    define( 'YOURLS_URL_CONVERT', 62 );
    / ?% Q/ J( R" a- ~' V/*! `! r3 e. F$ q1 d+ }
    * 36: generates all lowercase keywords (ie: 13jkm); r, N, M" F. j* X
    * 62: generates mixed case keywords (ie: 13jKm or 13JKm)! u- c/ c2 S( S7 t2 Q5 }
    * Stick to one setting. It's best not to change after you've started creating links.9 [3 {2 r: a8 Y& g( ^/ t+ J
    */
    ' w3 ?& {3 d2 Z% Q$ _3 V# 保留的关键字,可自己添加
    % X  x% `2 G0 C" r$yourls_reserved_URL = array(( Y. \4 o* `/ c( \1 D! X
            'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
    9 S# J, z  v9 q' U" N);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
    " m5 |3 D4 C; l  v8 F' @0 E4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
    : F4 u! @+ ?1 Z2 ~- T& U3 Qserver {+ z6 N, Q& J" Y- V; `  _! x6 u
        listen   80;
    ; X2 Y7 t8 c- c6 b: x: E1 G% e    server_name 你的域名;
      q* V/ f2 k$ C' D$ l    charset utf-8;. H" w6 O1 E% [
        root "/var/www/YOURLS";, H; g  k9 k8 N$ Z; g; R6 {) I# c
        location / {
    2 Z9 q  c& q8 Y& x0 l* M+ M; \! i        index  index.php index.html;. h; B% s# o4 c# s8 a
            try_files $uri $uri/ /yourls-loader.php$is_args$args;
    ' T/ c) a$ d1 u& e    }
    & p$ D* _8 B3 }) {    location ~ ^/\.user\.ini {4 s0 A, N3 a" ~& m/ Q: C
                deny all;' `: ^) q+ W$ f$ J
        }
    % L$ d* `! u2 w; e" R' n/ Y) x    location ~ \.php$ {
    * P  ^4 j. |2 T1 g        try_files $uri =404;2 t  c) _$ M6 t5 y
            fastcgi_index index.php;
    # J1 h% S; e5 j/ W        # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
    2 ?- f7 I0 ?1 C( }        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    2 D4 n; B3 X; |: X; {        include fastcgi_params;. a7 K# L# }& F
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;' h4 m, z0 {& |' E
        }: Z7 @( p; {+ {5 _, z; S" W
        location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
    9 H4 p* N7 a' }! J* [- _0 }9 ]5 U4 x        expires max;
    9 R. j4 y$ T& z  g* Y8 R/ i        access_log off;6 P. S* g( ~" j! n8 g# ~# D% a
            try_files $uri =404;
    7 R3 E6 @" m  R3 I    }
    * |- E9 @: ^' N}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书0 l+ _6 R7 ], Z2 V9 z
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
    % ?, b4 P' M; B, d浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
    2 C& m* K; y  L
    ( I- v2 Q, h+ r$ l4 d5 W1 D0 ]/ x) X# b: O& D1 i3 i
    YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。% z( u( u& q, q& A0 u4 r. F
    配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
    . t, ]; j3 ]+ K/ i, J0 w1 l; B- K7 }首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:2 w) O! Y/ o, p: H* q1 q% d+ s

    + M% [9 }& n6 I' m) K
    + H- x( K% j) f) hYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
    0 m% |9 I7 b) Z2 L3 c$ V推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。. m7 c. n" i+ b2 }0 K( ]
    YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
    ) M1 E* M, _+ i& d8 O最终网站前端效果图:# q! K8 m/ \  Z% [

    # G7 M: w( E! l0 F: a( G- \% C/ R2 Z+ l: A/ S" U
    短网址前端效果图后端效果图:& k& X2 z3 G1 h6 @! G7 h: R: i
    ( @* V3 M1 i/ r$ ]9 _( \# B

      y) o" e  `( L% {' w短网址后端效果图相对原版颜值高了不少。
    ( G, ^6 U: k5 p6 l 参考返回目录[ol]
  • YOURLS
  • Awesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5)
  • 本帖子中包含更多资源

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

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

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

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

    GMT+8, 2026-8-3 06:24 , Processed in 0.688171 second(s), 28 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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