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

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

5万

积分

0

好友

1万

主题
发表于 2022-9-11 21:04:53 | 查看: 1174| 回复: 0
本文目录
  • 使用YOURLS搭建自己的短网址服务
  • 部署YOURLS
  • 配置YOURLS
  • 参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。6 c0 P5 j2 Z; h4 |4 @% j
    经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
    & c/ @& `8 V% U- ]本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
    " E1 q  J& v9 ^7 |# b" a' T 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。, ^& N7 |1 |" L5 `1 k' ], X/ D
    ! m7 @; G- t1 m) t+ O% {
    ' N9 v( a& e; h3 C$ r
    域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:8 `& I& h9 P/ J
    # Debian/Ubuntu系统安装PHP 7.4, D& _' P! a" z: e
    apt install -y lsb-release gnupg2, }' k( P$ h5 U
    wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -0 R& ?4 P$ `, f
    echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
    3 Z3 \1 q: H% n. Y8 tapt update1 Q7 Z7 h$ a- K3 I) z
    apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
    9 f( L3 Z2 U" M0 h* x6 ^' m php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick! ?3 F8 t1 r& Z4 J
    update-alternatives --set php /usr/bin/php7.4" D) y, T7 u5 ?/ y6 \
    # 启动PHP-FPM$ d1 \6 l* V" Q6 N
    systemctl start php7.4-fpm
    7 V* n! J' B0 T( z接着安装Mysql(MariaDB):9 `; A2 N2 H! C$ r
    # Debian/Ubuntu安装Mariadb
    1 p% M) D! @$ Rapt install -y mariadb-server
    0 t6 G& i7 z$ w) c7 r#CentOS安装Mariadb
    ' h9 d/ G1 B) q! I% P; Syum install -y mariadb-server
    ( b9 r/ U- H* r0 _5 t  B8 W  Isystemctl enable mariadb
    3 C* s$ k: i" O) j" c6 ^#启动Mariadb/ v& [4 v; i4 A, a
    systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
    3 p. \+ s0 _: F1 x( u+ V# i' y8 Y$ F#CentOS系统安装Nginx
    6 Q% k3 f) `- c& z( V2 y5 u1 hyum install -y nginx
    , F: \5 A  V3 D! Tsystemctl enable nginx
    ; H6 y: q: n  T0 h% T3 O7 o' h! ~9 r#Debian/Ubuntu安装Nginx6 k4 Z) t- {$ g; i$ O9 B2 |
    apt install -y nginx
    / w( y) t. _. T: R6 v安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。3 h1 ]+ B% O( ]. i# m6 \
    部署YOURLS返回目录部署YOURLS的步骤如下:- W5 k! h- x6 b; A7 G
    1. 创建YOURLS的数据库用户名和数据库:
    $ t4 w6 S1 O+ h4 A# D1 J# 进入数据库9 V7 s) R) M7 f7 V0 M
    mysql7 k: x+ e  q4 M" B+ c2 ~! p
    # 创建用户名,用户名和密码改成你自己的0 V: N9 w0 U* `& W: N4 {
    CREATE USER 用户名@'%' IDENTIFIED BY '密码';& {! j0 ^; N8 x2 E( J: _3 d
    # 创建数据库,数据库名字改成你自己的
    , d7 A3 p2 x# zCREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;1 B2 R3 t- L! z' h- S$ o; L
    # 赋予权限6 J5 ^! j8 f% c( O9 e6 A
    GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
      C3 `3 F( A4 d. B# 刷新权限
    * g1 f& E* a2 I) GFLUSH PRIVILEGES;2. 下载和安装YOURLS:
    * W% H/ I  ]8 f; Omkdir -p /var/www5 J; G4 L  g) a9 N/ y
    cd /var/www/
    & ^% t: O; j8 E8 Zwget https://github.com/YOURLS/YOURLS/archive/master.zip% m/ y/ U% E. J7 j
    unzip master.zip- t7 v/ q, d" H4 n; b7 [- W3 f0 s
    mv YOURLS-master YOURLS3 L& ?/ V: ^9 B, h5 }$ T& \
    # 修改网站目录权限
    0 {  P/ G- Y. N# Ubuntu/Debian系统. R* C; u2 ?* Q( b
    chown -R www-data:www-data YOURLS
    * y' M. R0 E; t) B& I# CentOS4 {6 V0 [7 p% S
    chown -R apache:apache YOURLS8 I; P# ], U+ D5 H" D. p
    cd YOURLS# L* _, r- g3 ~4 ]' {
    cp user/config-sample.php user/config.php
    ; d, Y7 S1 E) L  wcp sample-public-front-page.txt index.php, T7 S* `! _3 ~
    cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
    # q1 [5 h: f! Mdefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );
    7 Y4 n0 M( A5 C  T* ~0 B9 H. c. r- Hdefine( 'YOURLS_DB_PASS', '填写数据库密码' );
    9 h& V! Q3 F' [. b* x8 I, z8 wdefine( 'YOURLS_DB_NAME', '填写数据库名字' );
    2 r4 {7 ~% z" @' T' y/ C# 这两行基本不用改
    9 F' u) K9 E! r- s0 m9 f5 vdefine( 'YOURLS_DB_HOST', 'localhost' );3 O/ t; U" P- m9 f  g! Q, i. S: y
    define( 'YOURLS_DB_PREFIX', 'yourls_' );1 D3 }- N8 T% r6 c* a
    # 填写你的域名,不要加www形式
    ) c0 S  K" W- s: D* B- u3 C# fdefine( 'YOURLS_SITE', 'http://你的域名' );7 ~$ t" _- v, H$ E. v# O# `/ U
    # 填写时区,国内是8
    : l( f9 O9 G8 E$ l" Udefine( 'YOURLS_HOURS_OFFSET', 8 );4 S0 W4 A! `$ L) S- }0 A0 c: p6 y
    # 设置为中文' z( A; o' T4 U
    define( 'YOURLS_LANG', 'zh_CN' );" r: U5 N9 U$ v! ?
    /** Allow multiple short URLs for a same long URL
    # X2 S$ F8 U  {% g3 H% b+ ]7 z ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
    * w' J9 V" A* Y$ b) O ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */; L: U# Y* ~. g! l- p8 n6 R
    define( 'YOURLS_UNIQUE_URLS', false );
    & [4 X. Q; P. \4 e0 ]5 B# 设置私有权限
    * {: z: o+ t  k+ B% Z; o4 c+ kdefine( 'YOURLS_PRIVATE', true );, ~. L. F* q) F" l
      c+ _# y6 S; B2 E  _
    define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
    - _. U0 U  w7 C( g# 后台登录用户名和密码,一行设置一个,请务必修改
      T9 e9 S/ N9 `, {* `6 _/ _$yourls_user_passwords = array(; V/ v2 g" n1 ]4 H: p  j
            '用户名1' => '密码1',3 M$ {) C2 }4 V, M% a
            // 'username2' => 'password2',( F" T+ |# q& X; W
            // You can have one or more 'login'=>'password' lines
    / y" ]' K7 a2 S$ l/ `& o        );
    6 ^. K: _6 K% q8 m; D- Y/** Debug mode to output some internal information: j' _9 @& o1 c* W
    ** Default is false for live site. Enable when coding or before submitting a new issue */
    ; j* s4 D! q3 m, |# ]define( 'YOURLS_DEBUG', false );8 i: H8 W' l% i+ }* v6 `: i
    # 网址中允许大些字母填62,否则填36
    1 @( D5 `( L1 H: idefine( 'YOURLS_URL_CONVERT', 62 );6 Y  S& q# }& K7 B1 \2 i  W3 c
    /*
    4 {$ _* ^& f0 Q+ ?0 ]. \2 \# ^8 | * 36: generates all lowercase keywords (ie: 13jkm)% s2 L- C( f" w; ^
    * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
    ) g+ v1 k3 E& R6 I- i * Stick to one setting. It's best not to change after you've started creating links.
    3 o  K4 @. h+ b' y- L3 W0 ^. _ */6 c( D( O% Y! n8 d% s7 j+ @
    # 保留的关键字,可自己添加
      Y: ~- g3 x& g- A3 [2 W7 D$yourls_reserved_URL = array(" V+ E' _7 w" O4 g1 @
            'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
    - a8 y6 V6 `5 ^0 n3 k);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。- E: s, z9 Z) z
    4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
    9 y# P9 u) A  B! P- jserver {
    ! _: ~5 l& D0 n# y9 @    listen   80;
      r' c6 f) q( ~2 q    server_name 你的域名;
    , D/ v/ G5 Z" x, p! q0 D1 @8 c    charset utf-8;
    ' h- k8 u7 G" x% g/ _  B, H) T    root "/var/www/YOURLS";
    ( {: y. \. O) S* T2 Z' F    location / {
    7 E4 C6 w- }8 D; G/ v2 r: M6 d2 K/ U        index  index.php index.html;
    9 R0 x2 w. R9 G  x; v        try_files $uri $uri/ /yourls-loader.php$is_args$args;$ v; r8 J$ q6 h' D8 B. u- |
        }
    7 N* T/ v) w- u6 P& c7 @* I1 h    location ~ ^/\.user\.ini {
    8 Y8 J1 U& ]0 B; x& s- |            deny all;# W& W6 p) n3 \7 P2 |8 Z7 a
        }
    ; I' F/ }' u4 f- L/ i    location ~ \.php$ {
    6 B* w0 m, w! s: `* I        try_files $uri =404;% Y2 ~) D" g: l3 ]3 t" z  y
            fastcgi_index index.php;
    4 x2 D$ h4 h+ p$ Z9 X7 M$ l        # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;; E2 @5 ^0 d4 Z* i& y4 E
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;$ y" o: g* `( L
            include fastcgi_params;2 b1 W( ~2 j8 Q( ^; M
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;1 _6 \5 F+ x, C% ~3 j4 B  M
        }
    5 y0 P+ V3 l* i% S    location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {0 B% y% U! K" `
            expires max;
      y) h9 t% M" n3 |' m8 U        access_log off;
    ) J/ |/ P* I8 w; t* V        try_files $uri =404;( U8 x6 C' J7 t8 d5 \( U
        }
    ( r1 y6 u& Q+ ]# U2 ^}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书( T5 a5 N! w% l7 Y; d  D" t
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。9 O2 }' [9 B1 ?
    浏览器打开你的域名,配置正确的话应该能看到类似如下截图:8 g9 k3 K2 @, Z' \+ k' W% d
    8 V9 Q) W$ A" R' N5 i2 Y" i7 F
    $ E8 t* L1 b# k3 u( J/ Y& g
    YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
    # j$ R; x. r5 U$ @( K# D. k 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
    8 h4 W9 F  x* g+ a$ v, |首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:8 v+ a: D1 l( T' S( [/ W3 k* W
    7 J. }" ?5 A- [0 w
    " e- b2 e0 t4 U' }
    YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
    - F+ U: d$ B3 u! K& @5 G推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
    % ~! p; \4 @2 L6 X2 y, dYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。* J4 P0 u* D# ?0 b
    最终网站前端效果图:4 u. W+ u6 ?: @0 z  n

    3 g- A, r8 ?) B' i- s; D% B# p) y/ Q
    ( v* b3 Q9 U: F5 n& ]短网址前端效果图后端效果图:
    ' B2 P0 B" _: E8 o
    0 [& C1 J3 _( |7 r. O& C# l  p: h3 H6 n1 \$ d
    短网址后端效果图相对原版颜值高了不少。
    # J& w7 \# C- I- u6 G 参考返回目录[ol]
  • YOURLS
  • Awesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5)
  • 本帖子中包含更多资源

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

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

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

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

    GMT+8, 2026-9-22 19:31 , Processed in 0.070285 second(s), 22 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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