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

扫一扫,微信登陆

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

搜索
查看: 942|回复: 0

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

[复制链接]

1万

主题

1万

帖子

5万

积分

论坛元老

Rank: 8Rank: 8

积分
56206
发表于 2022-9-11 21:04:53 | 显示全部楼层 |阅读模式
本文目录
  • 使用YOURLS搭建自己的短网址服务
  • 部署YOURLS
  • 配置YOURLS
  • 参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。$ n4 q" }' K" a: M
    经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
    2 c3 H; ?3 f& W& t本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
    " o, H" E/ S2 Y8 j 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
    ! w: I  u6 H. n2 I, e. ^
    3 L1 R$ z. K; B6 L/ g$ e  k, o7 r: u5 m: h; A
    域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
    & V- p2 ]% y  E. r5 l# Debian/Ubuntu系统安装PHP 7.4- }5 S0 w' C0 e. h# u; K
    apt install -y lsb-release gnupg22 m7 E: n% M0 O
    wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
    5 W5 q" @7 W6 {: qecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
    5 p4 G' E" c" ^5 @0 a6 Tapt update
    6 j9 q. W' Z8 J- Z* ^apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
      E- z9 }/ _# _9 R php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
    : C3 `/ |# d. B; @0 ?& }5 ]8 q1 `update-alternatives --set php /usr/bin/php7.4
    9 G- D# K0 I" o+ L, D* j8 g: d# 启动PHP-FPM
    : e. W8 Z& s$ a$ X; Osystemctl start php7.4-fpm
    - J5 L3 d$ [# `1 @) `( P$ |接着安装Mysql(MariaDB):0 C' j5 [6 Z4 `7 |6 e: }& H
    # Debian/Ubuntu安装Mariadb0 d( d4 Q7 w+ c. h
    apt install -y mariadb-server5 y  E2 S; P' h- g9 D( F, g+ [+ f
    #CentOS安装Mariadb
    , u: N0 N) Q8 T& B; Jyum install -y mariadb-server: u4 v7 T! Q. X4 h% d7 Q$ [
    systemctl enable mariadb. V7 h1 I7 j5 \9 C9 p5 L3 [6 K
    #启动Mariadb. j/ I( q* q  p! X) w
    systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:) B* [/ E) a4 v; r. q  N6 z4 D& Q
    #CentOS系统安装Nginx$ ~7 c8 K3 W5 P3 v3 Z3 ?1 n
    yum install -y nginx2 O3 a: g& z, v: }9 }
    systemctl enable nginx3 W: I3 B" j+ c' [& |1 X# R
    #Debian/Ubuntu安装Nginx# B& k4 k/ u+ ?$ d0 x
    apt install -y nginx3 M6 H3 u* f3 s5 g1 z
    安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。2 \( F7 V* a' }# q
    部署YOURLS返回目录部署YOURLS的步骤如下:. {: X6 P! C) m9 T8 L6 c5 \  Z
    1. 创建YOURLS的数据库用户名和数据库:# J8 P1 a, {" `9 n
    # 进入数据库
    5 w9 M9 x" K) P5 Gmysql. D" `3 s6 n/ R9 d4 {+ b3 b% a. i
    # 创建用户名,用户名和密码改成你自己的7 \4 v, |0 ?( k* N# ]$ U
    CREATE USER 用户名@'%' IDENTIFIED BY '密码';
    & j0 q2 }3 o) ?# Y9 U8 z3 U# 创建数据库,数据库名字改成你自己的! d9 T, J0 m2 M5 `# B& l) z
    CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
    ; l' N. A: ]6 y9 z1 s7 V# 赋予权限
    ' R' U  U5 C4 h9 jGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
    / K7 J4 w8 o( a# 刷新权限2 r: |; |' \! {2 ?+ j9 }. }- T
    FLUSH PRIVILEGES;2. 下载和安装YOURLS:" @$ |& I" {; g
    mkdir -p /var/www
    / v, y  _4 t+ rcd /var/www/
    % E3 Z1 V6 `$ B# X- {wget https://github.com/YOURLS/YOURLS/archive/master.zip
    . E" f- v- a. l4 k4 c; w1 J5 Nunzip master.zip+ U/ K6 k3 V# C
    mv YOURLS-master YOURLS
    5 o) C! c2 l& D! F( D( I7 b# 修改网站目录权限/ I2 ~' r% R' t6 w
    # Ubuntu/Debian系统2 Z5 e* h$ m  K% G2 b) P+ U. I
    chown -R www-data:www-data YOURLS
    1 A) U! ~4 R0 n5 \' |, f. f9 x# CentOS3 v: i3 _& W8 J7 V- c( w( k
    chown -R apache:apache YOURLS
    1 R0 d+ k/ v. m, o+ scd YOURLS
    3 b% ^6 w' F, p1 Ncp user/config-sample.php user/config.php) G$ n, ]) K! K2 O
    cp sample-public-front-page.txt index.php
    + i- b% x8 e' T9 v3 u0 qcp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:' a0 M; G1 d5 H0 ]4 a: b$ R3 m. H
    define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
    $ O. v5 R3 M7 Bdefine( 'YOURLS_DB_PASS', '填写数据库密码' );9 J/ H+ l, R" Q/ e9 A( k8 K( T) M
    define( 'YOURLS_DB_NAME', '填写数据库名字' );1 r9 ~+ }, t4 o, G& C
    # 这两行基本不用改* R6 t& O+ P4 n
    define( 'YOURLS_DB_HOST', 'localhost' );
    $ N; S2 ]3 U2 Bdefine( 'YOURLS_DB_PREFIX', 'yourls_' );
    % R* k1 Z. \. ?5 ~8 Y+ q) {$ Z# 填写你的域名,不要加www形式
    ) i/ m/ r+ ~9 u* bdefine( 'YOURLS_SITE', 'http://你的域名' );
    7 @+ s! I/ B% \% W$ b; ?# 填写时区,国内是8
    ; N: _0 j$ [3 }; G/ S0 K: j7 tdefine( 'YOURLS_HOURS_OFFSET', 8 );1 a3 b# `" y: n' Y$ W
    # 设置为中文- r; c) Z7 r: }( D+ R% W1 Q
    define( 'YOURLS_LANG', 'zh_CN' );% d0 k  d# G+ N) G4 g
    /** Allow multiple short URLs for a same long URL
    8 F2 N0 s3 E2 d' L ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)5 O6 v2 c, t! H( U
    ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
    ; m, i+ s  e% G, |3 g' U- Mdefine( 'YOURLS_UNIQUE_URLS', false );
    1 u. \" g! ?! u0 H: S  e# 设置私有权限2 r3 E" X. `1 h! l" l# z2 Q" G8 P
    define( 'YOURLS_PRIVATE', true );
    % L' G3 v- X. N  i5 t1 Q& T' s' o" k  F' D
    define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
    $ I0 @" G; u5 e9 t9 N$ z' T# 后台登录用户名和密码,一行设置一个,请务必修改& P9 Y. C$ F2 h- n* Z5 @  Y
    $yourls_user_passwords = array(1 W8 F8 X9 l- t' W" `0 X# y: o5 ~
            '用户名1' => '密码1',+ c- \: i; [5 g8 l3 H! X3 `# b
            // 'username2' => 'password2',# f6 }7 M4 o' d9 ]& P
            // You can have one or more 'login'=>'password' lines
    ) r( d5 B( Y; X; ^9 o& w        );3 _8 x/ w7 j6 Y
    /** Debug mode to output some internal information3 c. y: M* K  B4 i5 n5 P! ?* o
    ** Default is false for live site. Enable when coding or before submitting a new issue */
    . w/ s. i3 D* ]& i' Mdefine( 'YOURLS_DEBUG', false );
      @2 Q( b. i, Z/ O# s# 网址中允许大些字母填62,否则填365 v" _& O: [: s, m" L
    define( 'YOURLS_URL_CONVERT', 62 );
    . d8 g4 g- D' Y/*
      ^" v; q8 M+ E+ l * 36: generates all lowercase keywords (ie: 13jkm)
      E' M( l! P6 a! G * 62: generates mixed case keywords (ie: 13jKm or 13JKm)1 O$ o) ^7 {% x) Z- T2 f3 ~
    * Stick to one setting. It's best not to change after you've started creating links.6 r8 H% s" g0 V3 ~
    */
    3 K% N" C) k3 G1 k! o% n# 保留的关键字,可自己添加6 x! l  ?0 T4 P. f2 I
    $yourls_reserved_URL = array(
    : L" l# @1 L7 l        'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
    # n0 ~$ Z4 ^2 t);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。8 E( L0 m" I( l) ]( Y0 |
    4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容. c: B1 h! b  S# p2 m9 I
    server {
    + o+ x7 B3 k( ^* }    listen   80;
    " e: y$ ?6 B7 ~! l  ?% Z    server_name 你的域名;
    - M3 C: L5 Y& h. ?    charset utf-8;
    0 A: q5 S! J0 c" f) y    root "/var/www/YOURLS";
    4 {7 a) J  a- C+ s    location / {
    . P( n. i% U$ |3 Q' L        index  index.php index.html;+ p0 Q4 j  m6 e, t- V
            try_files $uri $uri/ /yourls-loader.php$is_args$args;' p- ]+ L( R8 t# e) U; ?
        }
    $ d. h2 ^7 }# _    location ~ ^/\.user\.ini {% V& _. v. O9 Z
                deny all;
    ' L- l" X* \- {2 O    }% b9 M+ }& c, z! X
        location ~ \.php$ {
    0 d9 S& j7 u; e! Y% G) ^  W; M        try_files $uri =404;4 x" A' W: V1 ~0 |% v7 A' Q( ]4 w
            fastcgi_index index.php;4 {) L1 C2 g0 d" M' }
            # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
    4 i+ L. O& L6 K' v) j        fastcgi_pass unix:/run/php/php7.4-fpm.sock;7 t0 c$ ]5 L7 b- d$ w& M8 c
            include fastcgi_params;, W; L) x5 L/ {8 C
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    . Y. L$ h' ^5 V/ @8 e! X3 u2 @    }
    : I5 k( A+ w- u( `/ ]    location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {: S7 ?0 U; M$ S, B1 x+ b, Q
            expires max;
    ! @7 X7 ]/ \3 k6 S1 b9 N        access_log off;
    # D0 r# E$ l$ r        try_files $uri =404;8 {& v& p: r! D1 G3 M; r6 |
        }1 C9 [6 S. d3 d) H$ ^
    }推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书. Z$ H5 v5 K% ?: p( Q. F/ E
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
    - S7 a  f0 i6 R6 ?浏览器打开你的域名,配置正确的话应该能看到类似如下截图:( N, ]. v+ E" a. L: R1 ?3 G  F: G) S

    7 U& a8 l3 k& r0 L0 J) F
    - b1 R! T- v5 {4 Z& Y- ?  |YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
    ( v2 D! M4 E5 a7 J) V, k8 {9 c 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
      q5 d- [$ {# ?( N% g; y首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:& H6 \  z7 t+ z* D" w+ k: K8 \  ~

    7 t! o) q2 B+ u! a* L9 |. [) x' u0 m6 Z$ X) i3 A8 O& d: M( v! @
    YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。0 C5 m2 H2 j& X9 [# k/ M
    推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
    6 N( @8 B) k9 c& n; _* FYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。" M3 x% f9 o- g
    最终网站前端效果图:, J0 n. s, A8 U+ ?2 b- z

    , }$ c( @1 l, B( Z$ i& u2 i; w! q' u7 r* t& y
    短网址前端效果图后端效果图:( x. Q; k  M! k
    - K- _& P1 E1 C

    / s$ S: e1 R8 ], y3 h! T% r短网址后端效果图相对原版颜值高了不少。
    ! R7 L1 d# N9 D' M1 x$ 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号 )
    快速回复 返回顶部 返回列表