请选择 进入手机版 | 继续访问电脑版

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

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

5万

积分

0

好友

1万

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

    2 C8 D( _/ H7 Q' H7 R4 b域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
    / b/ L! f1 \. K  G# Debian/Ubuntu系统安装PHP 7.4
    & y" Q  |/ W" X; I3 _- dapt install -y lsb-release gnupg23 m  R, C& t% v
    wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -2 K3 m: U4 b' ^+ m& ]
    echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list5 |" Q: z. `, ~4 F: V+ K' t
    apt update
    ! \; m9 c& k: d. o+ qapt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
    - Q( @" d. a* t- S& a' i1 l; ? php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick8 X8 P, V" V% K  J/ D1 v& [
    update-alternatives --set php /usr/bin/php7.4: \1 K3 J& ?! i! d0 B5 b* B
    # 启动PHP-FPM9 c( `% e- q! o) s# V
    systemctl start php7.4-fpm
    0 D) h% g6 [# ?! J3 p  I7 H接着安装Mysql(MariaDB):6 T3 n, t$ {& f' E9 ]  |
    # Debian/Ubuntu安装Mariadb% W0 ]2 ]) G5 r* _
    apt install -y mariadb-server
    / b$ D* k0 z1 s#CentOS安装Mariadb
    2 T1 k$ J4 f! S; eyum install -y mariadb-server
    6 f. v: u% F4 I8 g, c. F& Asystemctl enable mariadb, g* n4 M! Z7 }  z; A  j; D8 d# n. Y
    #启动Mariadb; R; p9 o$ m3 c7 i5 t7 L% S
    systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:+ l" I) x" w0 i% r: i1 z% S
    #CentOS系统安装Nginx4 t, @' g8 q* O1 m- k8 g% @( P% Y
    yum install -y nginx, }) I+ @8 r+ K
    systemctl enable nginx
    & X; a' }* i# j, Z' v#Debian/Ubuntu安装Nginx
    . Q1 Q# c& d$ q1 N7 Bapt install -y nginx
    ; h1 Z2 N  r6 Z1 r) M安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
    1 o4 F8 m  z  F* S4 U3 Y" D 部署YOURLS返回目录部署YOURLS的步骤如下:" B# Z. h0 R7 h4 w7 J2 l
    1. 创建YOURLS的数据库用户名和数据库:
    $ `0 ?8 x. K- j& S5 e# G' x# 进入数据库* z2 q; y: `" e* D' v4 W4 G9 G  G3 X
    mysql; h" ?( _. K7 L2 M6 q5 Q
    # 创建用户名,用户名和密码改成你自己的+ y8 z! L6 u" Z5 \) g* }0 [
    CREATE USER 用户名@'%' IDENTIFIED BY '密码';
    & J# T+ F2 o% i7 y* s# 创建数据库,数据库名字改成你自己的
    6 p) Y  }( }8 D# G% G0 F. V' dCREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;; }4 U# ~& I5 `  M: K7 S6 N
    # 赋予权限# Y/ u; l& I" p/ p* f
    GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
    # k5 [# K! i2 s+ `9 R: p" V0 I8 \# 刷新权限  S+ Z7 R' g  @7 M  E- J
    FLUSH PRIVILEGES;2. 下载和安装YOURLS:
    9 _6 l1 Z) \% P+ F9 F8 Lmkdir -p /var/www
    7 U& Q$ b# ^4 d; E% k' t+ [: a' ~, Q1 ~cd /var/www/
      Z2 D% z) X1 P3 z9 D4 `) `6 i; \. \wget https://github.com/YOURLS/YOURLS/archive/master.zip
    : t3 I! @- l# U  w6 Q4 l* n% E8 Wunzip master.zip
    6 V+ a6 S2 Q3 D% N6 B0 d: U$ `mv YOURLS-master YOURLS; ^0 Y, d" g% [8 P  R/ x
    # 修改网站目录权限3 j6 d1 X" u5 `) L) a8 j
    # Ubuntu/Debian系统
    / L7 Y$ T/ a. xchown -R www-data:www-data YOURLS9 ^& \+ v( s1 N# T# d& c
    # CentOS: S& g; _8 W# f3 q1 N9 N/ J
    chown -R apache:apache YOURLS
    1 S# W" ~7 t2 W2 r2 \2 gcd YOURLS
    4 t+ i. r* o8 G0 O+ ^cp user/config-sample.php user/config.php
    + p' ~- N: C0 A$ x! \cp sample-public-front-page.txt index.php! k1 O2 d! ]7 L  R
    cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:9 a: ~/ t$ F4 H( G* m" u
    define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
    " `7 ?6 ]% z. r0 ^define( 'YOURLS_DB_PASS', '填写数据库密码' );
    ' j+ z2 `! K( Rdefine( 'YOURLS_DB_NAME', '填写数据库名字' );' h2 [9 a$ j6 l
    # 这两行基本不用改% E0 d, s6 ~# Y
    define( 'YOURLS_DB_HOST', 'localhost' );' A# ]. g4 V+ s% L8 d
    define( 'YOURLS_DB_PREFIX', 'yourls_' );
    2 k4 M/ ]/ \1 {8 h. D0 F' c: H: [# 填写你的域名,不要加www形式, f0 o1 E( z" G
    define( 'YOURLS_SITE', 'http://你的域名' );
    4 ^$ X9 m( x' i# Y! w4 I# 填写时区,国内是8# I- R- V) [" R% {( p5 e% J5 A& ^
    define( 'YOURLS_HOURS_OFFSET', 8 );& i: I, }( |" W; M
    # 设置为中文/ ^2 T+ l- J  f
    define( 'YOURLS_LANG', 'zh_CN' );  j) ]0 Y- O# t0 c. t
    /** Allow multiple short URLs for a same long URL5 l: L# ~5 E4 ~" {7 f- m4 B' f
    ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
    & n7 {2 x2 p4 R- Y4 C ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */8 p/ M# }  X8 V: \0 I% W  l
    define( 'YOURLS_UNIQUE_URLS', false );
    0 U# U% O0 v0 |) {/ k+ Z) G% z3 E: X# 设置私有权限2 a" ?9 M$ \* w# b$ y
    define( 'YOURLS_PRIVATE', true );
    # F( |3 J5 v, |, b; ]
    9 u, a9 |  |/ K& ?. A1 q6 b- ]define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
    ; X; K+ B# P8 T4 B. y$ a3 p; S# 后台登录用户名和密码,一行设置一个,请务必修改
    + ?; x9 |( k6 t" k% i$yourls_user_passwords = array(& _: f0 i. I1 N+ @' x2 ?) R0 J
            '用户名1' => '密码1',
    : J1 r- @2 V" Z0 n1 _! k% j% k        // 'username2' => 'password2',4 R/ k9 V7 r7 r
            // You can have one or more 'login'=>'password' lines
    / G( B/ \' y3 k$ Q) `" d0 h5 t# U# Z6 T! D        );
      g/ z* F. ~7 U* X3 U8 B. H/** Debug mode to output some internal information) U8 d3 D; @  f" X3 D: D
    ** Default is false for live site. Enable when coding or before submitting a new issue */
    % F' y! q# e; f8 v2 ]( R5 s+ pdefine( 'YOURLS_DEBUG', false );
    3 ~. X3 C2 a. ?0 y9 ]; L# 网址中允许大些字母填62,否则填36
    , u; c- ?' {; ~9 [  `define( 'YOURLS_URL_CONVERT', 62 );
    . y; _" }* ^6 s0 ^( F) _/*) t5 S( t+ y# m5 d+ w+ z; D
    * 36: generates all lowercase keywords (ie: 13jkm)
    2 n6 D% u) i0 P" U" h( g( r * 62: generates mixed case keywords (ie: 13jKm or 13JKm)" A" d, @, T' H3 N
    * Stick to one setting. It's best not to change after you've started creating links.
    ' [7 Z, F% F) C2 v */
    / {1 m/ q& h6 s7 b8 E( k# 保留的关键字,可自己添加4 s8 w) ^; q* K1 z; P) u' U
    $yourls_reserved_URL = array(- j" X% ]6 p% l2 |% _7 j) j$ H
            'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',* d. v# ]! a# L! k
    );接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。* E  n9 g: b4 V' z5 K& K
    4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
    0 B, k$ M) s, X+ z: C& O+ pserver {
    1 c5 O% z6 m( C, b" ~1 Z    listen   80;
    . {% @- r6 x4 }5 K* K. r7 e    server_name 你的域名;. b  _7 T; M  R, P7 c& g: }  p
        charset utf-8;& i9 S+ f  z8 l2 N" b! f
        root "/var/www/YOURLS";% d- L$ |( c4 S) s
        location / {
    " T) |, y5 N) y. ]! Z        index  index.php index.html;2 @6 Y" K3 d7 O( F( G. P
            try_files $uri $uri/ /yourls-loader.php$is_args$args;
    * i. `* J2 ~# u6 r" d    }
    # l' |7 V9 N9 {/ r2 l; @; l9 m    location ~ ^/\.user\.ini {% ^' J4 L9 Q: V% m4 G$ H
                deny all;
    4 o8 t8 L# r& [7 x- f5 B& R' c    }6 ?" ^3 K1 B9 k* R8 ~* u6 _8 [
        location ~ \.php$ {& _( Z  N0 j! M9 ~6 W- @+ L  O* Z
            try_files $uri =404;4 |3 i8 s4 y$ {6 Q
            fastcgi_index index.php;
    2 H, \5 g6 D$ q& k+ B, A2 B" A        # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
    0 H) e# E% A% v        fastcgi_pass unix:/run/php/php7.4-fpm.sock;8 k) R, j7 Z) m8 G8 G( h! m
            include fastcgi_params;
    , z4 ^! H2 ^& J: S6 A( y        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    % O" q7 h/ x3 @$ V    }
    9 ?! g8 ?; A9 o; a% D! Y0 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)$ {- R# @2 [' j8 C( u
            expires max;
    5 @) W; J6 A# R# H" r# F        access_log off;
    1 S6 X$ Q& b; ]- P0 W        try_files $uri =404;
    & k3 F) b0 |6 e8 ^) @; o    }1 G$ A% \8 |, }5 [. w  e' w0 I
    }推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
    9 f& T. K0 S8 n, F6 D% r0 m& a. T
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。6 |9 Q3 Z; x  ^3 o" `
    浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
    : q; H: [2 o6 {$ w% p. P# v2 i" ~; ]5 P5 G: t1 Y  d5 d5 k
    " L7 S1 J7 v% X- X  e: w
    YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。( E% u" A0 F; P9 T+ }
    配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
    / Q4 }* D7 H2 |3 N" I首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:* @& ]+ v2 Q4 t

    9 {; T7 g8 Y* F- n  S1 T9 }- ^6 N) I- ]- x$ q; W5 F4 K5 t
    YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。& C6 i; \: m' a- _% @
    推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。+ M; a$ Z: g% T3 W, O% x: ~
    YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
    7 `. Y% j7 c! c( \最终网站前端效果图:
    2 [0 p# c! Z5 g7 R7 Y$ ]: @- I9 p! d/ w: G9 j& y; ^
    + x0 `& [% L2 U! {
    短网址前端效果图后端效果图:% l: P1 G+ H; o2 g/ c

    & j( L2 X/ Q1 c/ O. \, \" T, s
    1 S- ?4 q: C. w( U短网址后端效果图相对原版颜值高了不少。  O4 O( ]+ k, K( U& R/ ?& Z) z7 f
    参考返回目录[ol]
  • YOURLS
  • Awesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5)
  • 本帖子中包含更多资源

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

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

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

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

    GMT+8, 2026-10-15 19:36 , Processed in 0.084579 second(s), 22 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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