扫一扫,微信登陆

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

搜索
查看: 617|回复: 0

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

[复制链接]

1万

主题

1万

帖子

5万

积分

论坛元老

Rank: 8Rank: 8

积分
56206
发表于 2022-9-11 21:04:53 | 显示全部楼层 |阅读模式
本文目录
  • 使用YOURLS搭建自己的短网址服务
  • 部署YOURLS
  • 配置YOURLS
  • 参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
    . U, S; X5 ?, ]1 L/ r; k经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
    5 b1 ^+ `4 H" y* P  M本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。- s/ T- R7 z" r- Y5 A
    使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。4 Y% q  s# z& r0 \+ C
    + ~# T8 ~2 F+ k7 n7 k7 d' [# k
    6 q4 z7 V+ F/ z3 _
    域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
    0 J  A( z, Y/ F; o  @# Debian/Ubuntu系统安装PHP 7.4( P  r  p, P, P/ V  p* x5 s8 o* O
    apt install -y lsb-release gnupg2
    - {6 \9 T7 i3 B2 Pwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -4 q9 x7 @- \: z2 g6 q9 S8 k3 u; P" E
    echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
    & |9 N9 [7 w6 b& V) A% r1 Napt update& P0 _; k. ^! _" s8 Q# k
    apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
    . c$ m0 i6 v& \ php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick& p! g9 ~* N7 {; Z; Y* |
    update-alternatives --set php /usr/bin/php7.4
    # y6 j: o1 G% `6 e, `. o, N! H# 启动PHP-FPM  b6 c7 L1 u1 y' F9 O% x6 R7 m
    systemctl start php7.4-fpm  Y9 Q: [* M0 R, ^' I
    接着安装Mysql(MariaDB):& w) X" Z6 \0 S# R8 y! n
    # Debian/Ubuntu安装Mariadb
    7 P& O* w* [7 d9 d# ~7 k( Yapt install -y mariadb-server0 }; Q* V& g$ w! l% y
    #CentOS安装Mariadb
    / Z* K( [8 ]7 e: Pyum install -y mariadb-server
    ; f: }. G' e2 m4 Z) Q) j* @& {6 ]systemctl enable mariadb. c+ |3 u4 L) ^, O
    #启动Mariadb& [  R$ Y" g4 T  W
    systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:% s7 y+ P! r) N, _! U' \
    #CentOS系统安装Nginx
    8 h: }0 x* M+ c1 o; cyum install -y nginx
    + k$ h0 t4 f. Q1 R% ^' t( ^- isystemctl enable nginx
    # `' T# o8 }) I% K7 E#Debian/Ubuntu安装Nginx+ }  _- |/ r' q4 G/ b8 ~
    apt install -y nginx# |) M+ x( K6 X
    安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
    & N  |; M% s. G: G- N 部署YOURLS返回目录部署YOURLS的步骤如下:: z& O, X8 z3 w) N. @! L( G& E
    1. 创建YOURLS的数据库用户名和数据库:: V: e" D( B5 v5 o
    # 进入数据库$ L: B7 L1 Q  u6 L. i9 r4 B; A6 i* o' T
    mysql0 b- R5 k6 L5 a; s8 `
    # 创建用户名,用户名和密码改成你自己的# V; Y, ]  A% c- Q
    CREATE USER 用户名@'%' IDENTIFIED BY '密码';4 d! u+ `! \5 n! n/ l8 K
    # 创建数据库,数据库名字改成你自己的* ~1 K  R1 V- I9 u5 J/ `
    CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;4 t% ?7 y$ X3 O) }/ \
    # 赋予权限
    , S* J& a5 L, ~+ K9 t2 V0 u& x7 zGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
    1 l5 C) f( X7 H% v0 V+ h% r# 刷新权限6 U* r" }0 m0 H/ r
    FLUSH PRIVILEGES;2. 下载和安装YOURLS:
    " q( O! j+ z9 r* f9 p* C% k: Omkdir -p /var/www
    ; z' E# `  x# |cd /var/www/* f/ U0 d( F: L+ @/ m
    wget https://github.com/YOURLS/YOURLS/archive/master.zip
    : ?" t7 F" l( h7 A% U& r9 y* punzip master.zip" K% D' {& f+ p# a& ^$ G
    mv YOURLS-master YOURLS
    , o1 ~7 w1 J0 ?# 修改网站目录权限
    # }2 |) r# P& A. u# Ubuntu/Debian系统
    9 |5 t- G# A! f  ]% |chown -R www-data:www-data YOURLS9 F! D8 e2 s  n) V9 B7 D
    # CentOS, Q$ `4 T+ {: L$ b$ b7 V
    chown -R apache:apache YOURLS; e8 U0 |/ r& w& w$ J
    cd YOURLS
    . Y4 I, ~5 ^2 @. _  u1 dcp user/config-sample.php user/config.php
    9 {3 v8 N$ U8 i4 U/ }. a6 Ncp sample-public-front-page.txt index.php# q& A& h7 A+ V. n) X( e3 {
    cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:6 b! A1 y! v& s5 r8 o$ J
    define( 'YOURLS_DB_USER', '填写你的数据库用户名' );+ F0 |7 Q$ Y$ E+ w; K) V
    define( 'YOURLS_DB_PASS', '填写数据库密码' );
    0 M$ [% ~3 {- e; E2 w" sdefine( 'YOURLS_DB_NAME', '填写数据库名字' );9 T: v- t6 x" u  O. Z  c. q
    # 这两行基本不用改! e) S* m9 x' ~: {' F8 l
    define( 'YOURLS_DB_HOST', 'localhost' );% ~9 c$ o" j) D
    define( 'YOURLS_DB_PREFIX', 'yourls_' );. f5 D/ @! f6 s, b/ f
    # 填写你的域名,不要加www形式
    2 Z- \% c" I' @  N8 tdefine( 'YOURLS_SITE', 'http://你的域名' );
    * w) [- \, i- W+ _1 Y# 填写时区,国内是8" a) R( G1 I  M& r+ q  [
    define( 'YOURLS_HOURS_OFFSET', 8 );4 u1 C1 B8 [0 t9 L
    # 设置为中文7 j5 q7 n0 M2 @3 }: D+ x$ {
    define( 'YOURLS_LANG', 'zh_CN' );% e' ^4 _5 F5 z. E  s2 z
    /** Allow multiple short URLs for a same long URL
    - @/ |4 v0 w( {/ S# f+ r! y6 _% A ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
    : Y, ^: ^& T" V. O2 R4 | ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
    5 f' W9 M7 Y/ D: p9 s2 ^" tdefine( 'YOURLS_UNIQUE_URLS', false );( U1 m7 q# Y* U- W: U& W( J( Z
    # 设置私有权限
    " Q! e; i' w4 W3 Z$ N4 _0 |# Y& `define( 'YOURLS_PRIVATE', true );, v; \5 ^# j# D6 E0 [9 r
    - p( e- N9 p" H4 `; d# k$ P- Y
    define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
    4 C8 U0 j& l2 Z8 W# 后台登录用户名和密码,一行设置一个,请务必修改  f* {" V+ \& w8 i
    $yourls_user_passwords = array(
    2 z9 M* e7 f% |# ^7 J        '用户名1' => '密码1',* o& P* }& q4 k: h; ]
            // 'username2' => 'password2',
    5 W: a. q4 Q, H5 c        // You can have one or more 'login'=>'password' lines6 d7 t9 {- `1 f% m; N
            );8 V' t( o+ F; y, [& J2 X: H, k
    /** Debug mode to output some internal information
    7 u9 e0 z! ?4 F# U* K ** Default is false for live site. Enable when coding or before submitting a new issue */* m: [* K& h+ i* D
    define( 'YOURLS_DEBUG', false );
      l5 e  U( r% ]% T1 _# 网址中允许大些字母填62,否则填366 W. L/ S# C, {7 y$ w3 y; P8 D
    define( 'YOURLS_URL_CONVERT', 62 );0 @1 z, y6 {' h4 R) Z/ T- D& b9 d
    /*
    ! ?! _. w% H4 z7 X9 s- o: d) o * 36: generates all lowercase keywords (ie: 13jkm)
    ! ~8 ~- j/ t" E4 a. u6 K2 K * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
    $ }2 J/ D( V5 T * Stick to one setting. It's best not to change after you've started creating links.
    $ f: L2 M* N- a */% \1 Q5 E/ y4 X1 ]
    # 保留的关键字,可自己添加; L8 G! _; j! T& F
    $yourls_reserved_URL = array(" W3 e) i9 h4 N
            'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
    : T1 m% [) g' a% y* G* C);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。  }/ d' g, _- Q( n
    4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
    2 x2 V: N4 t3 }, z# X6 Hserver {# k3 }/ n9 e' |% v9 L0 M+ E
        listen   80;1 N$ ~* K7 ?5 ~0 k
        server_name 你的域名;# {1 J2 Q  u/ B. F# E, A) [
        charset utf-8;/ j* J9 b1 a' o2 m* S) y
        root "/var/www/YOURLS";. f3 u% Q8 l: m: t5 t; F
        location / {
    - a% p3 u2 ~1 K4 C        index  index.php index.html;
    $ [6 s( P# B2 K' T        try_files $uri $uri/ /yourls-loader.php$is_args$args;) M1 @/ m9 b  f
        }- N  X2 K$ d1 z
        location ~ ^/\.user\.ini {
    3 g6 {' q2 R; T% _! D            deny all;
    ; `3 o& D" E+ g9 x    }
    ; Y" q& ^  g, L$ z/ Q3 B+ E    location ~ \.php$ {' `( u4 i6 b* {( o9 @" M
            try_files $uri =404;* K% |3 X9 ?$ ?$ G3 w6 Y) N/ O
            fastcgi_index index.php;+ V1 V: a& u% [2 W
            # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;- d, `2 a9 G3 x2 ~$ h; g1 u
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    7 l4 @; D- f% h5 [; n$ r        include fastcgi_params;4 M: q/ B9 r8 |
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    * U' n; d- ^% v7 Z$ L2 T! X    }
    * R9 |. B7 Z# ]  I; X    location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {7 l; F6 D! C( c; t5 x
            expires max;
    $ H  A  G6 s. [2 q( l        access_log off;
    ) E8 ?4 b; |* h) p% g1 f        try_files $uri =404;: K2 G- u& i6 V2 S, j" e; X1 U
        }+ ~- z- I7 F( M) @3 M
    }推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书4 W0 R% h# O$ N- D3 \
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。# `" E2 ~2 W( n; _3 Y
    浏览器打开你的域名,配置正确的话应该能看到类似如下截图:8 u- c& i7 H  _8 A  I# n$ q6 N
    8 h1 x) S0 O, @3 m. c
    1 c5 n* S6 _8 ?. _) R$ V7 M
    YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。) T  S7 p7 |5 Y% c& H
    配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。, b# Y  T3 u0 Q8 d
    首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
    9 p2 \/ e+ [( f5 n2 r
    : W- H0 [& ^3 X- f! l
    2 ~6 {" D4 ~& P: A8 OYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
    * t! {, h1 m4 ?% z6 c* M% r推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
    ' @) b$ l( Q' h8 B" R, @YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
    0 \" P& _: {* [最终网站前端效果图:
    ( H" {7 H4 S6 J  T
    * i$ b- J  Y. R/ ^- ~1 x' L' p/ r0 V: b* ~7 N6 A- \# n* G+ \' J+ }
    短网址前端效果图后端效果图:$ e4 t( b" e' G* f0 `" d$ v: J
    ( A6 w+ d! `& {7 F, s. W

    + A% P7 E- A" x! y6 F8 T短网址后端效果图相对原版颜值高了不少。
    0 a. i# B+ A- v' f0 @ 参考返回目录[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号 )
    快速回复 返回顶部 返回列表