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

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

5万

积分

0

好友

1万

主题
发表于 2022-9-11 21:04:53 | 查看: 1122| 回复: 0
本文目录
  • 使用YOURLS搭建自己的短网址服务
  • 部署YOURLS
  • 配置YOURLS
  • 参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
    0 T0 Q1 }2 q9 Y% n经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。* _( c% X% F  x1 A/ }+ y
    本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
    0 d6 Q7 L$ h* x0 ~+ W; y 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
    - Q- f' X4 [7 k. x+ w( y0 C7 z2 j$ L4 b) U7 A
    / z$ Q# ^( Z$ M3 X
    域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:! d' `9 U* c  i9 M
    # Debian/Ubuntu系统安装PHP 7.4
    1 ]2 L$ L7 E5 h9 t9 C( Napt install -y lsb-release gnupg2
    + J9 ?! Y# w0 C  u* s6 Jwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
    4 p: E# J: L$ i$ Hecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
    7 `  v* f! _$ c+ s6 L. japt update: F. o1 }1 g% P0 ~. O  W% v
    apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \3 e. [  |( l3 C, ^! x4 O+ M4 _7 u9 E
    php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick) c5 K  f, L" U8 f8 z
    update-alternatives --set php /usr/bin/php7.4
    + w" f% {7 C9 ^4 d# 启动PHP-FPM
    0 f0 j% ~! Z0 O! ]- Lsystemctl start php7.4-fpm* |2 @5 o& _" A1 d, N: O6 ?
    接着安装Mysql(MariaDB):: r+ P$ h. C9 K5 G
    # Debian/Ubuntu安装Mariadb
    4 h" P) w! d) ]- J  M7 v2 C  y  @apt install -y mariadb-server4 G6 \* V7 _! Q
    #CentOS安装Mariadb3 P/ O/ `# X* h: j
    yum install -y mariadb-server
    ) m' u7 Y6 u+ o1 d! F( ]- R7 i6 v5 Q7 msystemctl enable mariadb
    ; S% Y- j  C- G5 ?$ |4 k) n9 e#启动Mariadb
    0 @* P2 @6 R1 ~; w# S9 ?/ Lsystemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
    . _& I9 H% A# J9 @% B#CentOS系统安装Nginx
    5 F1 D+ R5 q$ ~  s! G& Ayum install -y nginx
    6 c! u" @- V; \7 ysystemctl enable nginx
    " l7 `7 ^& d9 a3 k9 R#Debian/Ubuntu安装Nginx( V; n+ N- Z; v1 q
    apt install -y nginx/ Z& |; ?6 A  i- h) N/ E$ w6 e+ s
    安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。' Z/ N; I( d- x# |' ~
    部署YOURLS返回目录部署YOURLS的步骤如下:
    " P$ ^( ^5 p9 @8 C8 r/ P1. 创建YOURLS的数据库用户名和数据库:! @0 B( z# ^1 f
    # 进入数据库. m, F% q7 x# O- M% L7 R6 V
    mysql
    / a! j! R, }. C2 X8 r: W7 R# 创建用户名,用户名和密码改成你自己的
    2 _5 V2 ]3 E+ M, dCREATE USER 用户名@'%' IDENTIFIED BY '密码';
    . p1 V/ ^* e' r+ T* u1 |# 创建数据库,数据库名字改成你自己的, c+ j1 c; N- b: x
    CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
    $ @* K0 {9 N. H' `5 o# 赋予权限9 H  v& k. \* r( O) w# N/ R
    GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
    3 e% [. q8 ]6 X% B; O# y8 X% b1 m# 刷新权限9 t% G$ S3 n3 i4 i' A$ G+ Q: `
    FLUSH PRIVILEGES;2. 下载和安装YOURLS:
    - b  g+ U: M6 e7 Kmkdir -p /var/www+ `) U& t& q9 e' I
    cd /var/www/
    0 l1 O5 a/ u; X6 C$ N4 T. Uwget https://github.com/YOURLS/YOURLS/archive/master.zip5 h- A5 u# i% c; R: _: L
    unzip master.zip
    $ L% A  k. u9 t& c% y8 {4 Umv YOURLS-master YOURLS
    9 m0 Q5 @7 E$ p- G# 修改网站目录权限
    $ A. O- H  [6 y& Z4 q8 w# Ubuntu/Debian系统9 l, N) N- j- O
    chown -R www-data:www-data YOURLS
    - ]' n1 v& L' ^" V& ]+ Q- U$ a# CentOS
    $ l* Q2 |) w. x1 F+ W+ T4 Dchown -R apache:apache YOURLS
    1 Z: g% R9 G8 N7 {! y: D7 ?8 k5 Ucd YOURLS
    7 K, m" c1 l5 ~- A) fcp user/config-sample.php user/config.php
    9 m* O- N( i7 Mcp sample-public-front-page.txt index.php4 a, {+ n1 Q0 J" Y" r6 @/ }% E
    cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
    # ]( s$ m7 G; u! F( L$ V2 Rdefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );
    , P8 n/ J  t7 i- f9 P$ |define( 'YOURLS_DB_PASS', '填写数据库密码' );( O& P. G% i6 l$ G4 W5 O1 D; T
    define( 'YOURLS_DB_NAME', '填写数据库名字' );
    & W+ N; B. i( K: ?! \# 这两行基本不用改
    % U) w& A" H' ?define( 'YOURLS_DB_HOST', 'localhost' );: t0 W: I3 h6 W0 J
    define( 'YOURLS_DB_PREFIX', 'yourls_' );' G/ Z2 |+ O' `4 x
    # 填写你的域名,不要加www形式
    5 d; I; v) l# I( i$ _4 Wdefine( 'YOURLS_SITE', 'http://你的域名' );
    8 Z/ K' J" g( }! a! }# 填写时区,国内是84 Q8 E# _$ t' M5 O
    define( 'YOURLS_HOURS_OFFSET', 8 );! }' m. j1 ]2 q7 w0 y( b
    # 设置为中文6 f$ B- f: W* |/ D4 S
    define( 'YOURLS_LANG', 'zh_CN' );7 _8 P  ]5 p3 {7 x; v  n8 _# E
    /** Allow multiple short URLs for a same long URL9 h2 Q/ k3 p, c' t
    ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
    . w! k9 p! o( q& d! t, b3 j. M  f ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */  a! n! c; K! n& K
    define( 'YOURLS_UNIQUE_URLS', false );
    # m! o$ _0 F3 F1 H- K# 设置私有权限
    7 ]9 B( R% e" k- n- pdefine( 'YOURLS_PRIVATE', true );: L# j- Y& f* E+ f4 b& B

    2 N7 y3 M' G% ]" _! u! L) zdefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );5 g& N/ ]9 N# h) \2 q
    # 后台登录用户名和密码,一行设置一个,请务必修改
    5 G* L0 g4 f! L; U$yourls_user_passwords = array(
    2 v# K  ^  w3 L* b8 ~6 D        '用户名1' => '密码1',& e  c% _! X2 Y! E! V. \$ z0 l& M
            // 'username2' => 'password2',
    0 q! p8 G' D" u, k6 R        // You can have one or more 'login'=>'password' lines
    8 g  R2 h- ^, b) {% v0 _( ?        );8 D; d3 q+ w% W% j7 C) u
    /** Debug mode to output some internal information
    3 o0 T1 O1 d6 u8 r ** Default is false for live site. Enable when coding or before submitting a new issue */$ a$ m5 X: u- b
    define( 'YOURLS_DEBUG', false );
    " j! Y* R2 D5 A9 S, j" N$ {# 网址中允许大些字母填62,否则填36
    ; Q* Y1 `8 _/ ~9 y0 _( Fdefine( 'YOURLS_URL_CONVERT', 62 );
    8 D2 k+ F  }* A/*) w( J0 c5 N4 G7 u1 I
    * 36: generates all lowercase keywords (ie: 13jkm)) z2 @1 e. ]: r+ O* @
    * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
    8 F" k$ ?7 U9 g* D. ^3 b, R! D * Stick to one setting. It's best not to change after you've started creating links.& |1 V1 a7 y! Q! H
    */
    ; [5 O+ n' z, z* T# 保留的关键字,可自己添加4 j2 u8 g1 l& O5 V8 v: L
    $yourls_reserved_URL = array(
    * W) n- j. k) |  c# O) m        'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
    ( y, p; w4 L& [/ t. j3 b2 ], N);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。9 A9 |. ]& M$ B6 P8 c
    4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
    5 C/ n: q+ V$ C0 r. n" T- Oserver {
    1 Z1 {; t9 S1 i" p. C0 }    listen   80;  e' }0 C5 M* l  M# E2 X
        server_name 你的域名;: P7 U3 q/ O% l$ P. |
        charset utf-8;
    : z/ f; m9 |: w4 u" P4 n2 F) Y' E7 u    root "/var/www/YOURLS";
    8 W* r; c2 q* ?) p    location / {
    8 `1 ]/ ]. F# r) ~1 p        index  index.php index.html;: m; T8 ^: y2 f1 Y8 Z- M- z( f
            try_files $uri $uri/ /yourls-loader.php$is_args$args;3 I5 Z$ J) s( y' N0 ?0 J
        }6 F3 ^" s0 u2 g5 [/ ~
        location ~ ^/\.user\.ini {9 {3 A- K% Z! I: @+ @, g
                deny all;
    , ~. O0 W! I' a# l    }
    7 t* U. T: u; v: \* r    location ~ \.php$ {6 w! k" S# a, o8 k0 D
            try_files $uri =404;# B0 l4 w# Y# g. v& Q2 g0 N
            fastcgi_index index.php;# ~3 ]; q9 V9 T( b' P7 Y) z
            # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
    ; g" s, ~/ @4 S2 [" e! E0 k        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    ' z# }9 {' {9 s/ ?& F, k: V        include fastcgi_params;! _% R  q' n* J' x+ I3 `. q
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    0 j4 y9 y  f( S; `& M+ E9 t    }
    6 Q" L3 o1 H! K9 U- 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)$ {
    / l4 u' P/ F) H: B        expires max;, J7 ^5 D5 I6 |: I: M4 f6 B* q+ z
            access_log off;
    2 g8 G, N* }4 ~9 o( e8 {        try_files $uri =404;! k) C' X! ?' W
        }
    ( W, v& q8 c6 U1 [) i: ~}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
    7 K+ J8 j/ X- u6 g. c" k
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
    0 }' v% e7 K) ]6 \$ D浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
    2 A6 _1 V  k. F  l/ r% ?  [
    # b* P5 r; V0 ]" S6 U
    5 U4 t! f, w/ C, hYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
    " E( r# P4 C) K2 R5 ]3 q 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
    6 p  x) J! G% Y( w. \! }首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:2 j$ E! G: T" f5 t; Z% l

    3 F* G3 B7 ?$ D' n( h9 @5 K3 c2 Q5 e% ^& p: ~5 d7 t1 ?" M7 p
    YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
    ' Y" F1 D: P3 D推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。0 D4 \3 J6 f6 ]7 f- {0 k0 ]/ z
    YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。+ F+ _' c5 X: J/ d, \/ a/ A
    最终网站前端效果图:
    ; y4 z: d& N, c* M
    / \; p3 D8 M& ^+ P) ~, n. M$ `& B% x- G+ U+ b2 H7 O! a
    短网址前端效果图后端效果图:
    7 j) @2 `0 s  E% q" M9 o2 u" `7 k- B

    ! X) W: `; n. [* l! V: C短网址后端效果图相对原版颜值高了不少。
    6 ~6 A0 j# |) N( B8 |+ v7 @ 参考返回目录[ol]
  • YOURLS
  • Awesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5)
  • 本帖子中包含更多资源

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

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

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

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

    GMT+8, 2026-8-27 02:59 , Processed in 0.070292 second(s), 22 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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