扫一扫,微信登陆

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

搜索
查看: 366|回复: 0

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

[复制链接]

1万

主题

1万

帖子

5万

积分

论坛元老

Rank: 8Rank: 8

积分
56206
发表于 2022-9-11 21:04:53 | 显示全部楼层 |阅读模式
本文目录
  • 使用YOURLS搭建自己的短网址服务
  • 部署YOURLS
  • 配置YOURLS
  • 参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
    % |* y; u8 b3 P0 ^经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
      N/ J2 H- N& A) u+ U本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
    % m8 l0 O# Q( o1 N+ c; { 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
    : s. k$ @. _/ p
    9 C1 s% J$ \% ~6 A7 p6 q) c8 k7 Z% L+ U- V& R
    域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
    ! m! ]( v! t: ?4 u5 }# Debian/Ubuntu系统安装PHP 7.4. m8 c1 \# K  S* C
    apt install -y lsb-release gnupg2
    " ^) s2 c/ |, k) [/ T2 }+ Jwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -2 M+ B" G6 k. F- W3 H' o+ ~& W( _
    echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list0 H9 n3 C0 l0 x3 I# a5 I' e, Z( {
    apt update0 T- ^; l2 G) T4 F. [7 r
    apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \3 \1 N0 l" I+ R$ J  S2 i/ K
    php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
    ! {8 }3 B3 `/ Hupdate-alternatives --set php /usr/bin/php7.4
    * U4 w. n2 F4 M7 B8 T1 P' g# 启动PHP-FPM
    ! C6 J0 W4 ^5 ~: v4 T5 r+ Usystemctl start php7.4-fpm
    $ ^) S4 X0 r& h3 T$ m) i接着安装Mysql(MariaDB):# {) r; x2 F! Z! J$ {* e/ C( R8 d
    # Debian/Ubuntu安装Mariadb
      P, ^6 g, D8 Z+ s2 c. j  _- |: d$ Rapt install -y mariadb-server8 @+ N: b' t% V0 ~4 t& K- t
    #CentOS安装Mariadb( J7 g8 d% e- a9 u4 b/ S; Q
    yum install -y mariadb-server5 }/ Y7 K; Y% I0 h/ Q
    systemctl enable mariadb
    ; Q  C$ z' f3 ^$ m#启动Mariadb6 M! j4 S3 n9 d* f6 s; ~
    systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
    * b  |! p4 Y5 h) d. m% ?#CentOS系统安装Nginx- x' C8 ?: s2 F/ u7 k) w
    yum install -y nginx
    / S* t- [6 K/ U  \systemctl enable nginx9 q$ D2 X) }; j6 n  l5 v
    #Debian/Ubuntu安装Nginx) s: r  x2 F/ {  A
    apt install -y nginx
    & u) M4 {9 S0 h' ?# G& B5 o; \! {安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
    ! p( u7 a  S% u. v  T" i 部署YOURLS返回目录部署YOURLS的步骤如下:: {6 w. p9 g8 X) I+ e
    1. 创建YOURLS的数据库用户名和数据库:$ f9 d( m) y( p
    # 进入数据库" ^& h5 d3 Q. w
    mysql
    $ ?) f8 B" X0 O7 Z) y" T3 }; u# 创建用户名,用户名和密码改成你自己的0 N  S8 y& f5 ~  h; S1 J. v6 S
    CREATE USER 用户名@'%' IDENTIFIED BY '密码';
    ' H( ^$ M( x2 Q" \9 j# f/ W# 创建数据库,数据库名字改成你自己的  c- l% ~: K' S3 a, X, A6 A1 @2 _
    CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;6 O3 S) q7 ?) Q0 [- D8 H7 j+ c
    # 赋予权限
    8 x  a1 k# x% Z; [+ k  bGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
    ' g* J/ t! M7 s( ~% [( w+ {# G7 g# 刷新权限; q( u7 q; G( x" o$ n, t
    FLUSH PRIVILEGES;2. 下载和安装YOURLS:7 G% L8 B& ^+ I& R8 |- N- s/ ]! g( T
    mkdir -p /var/www
    " `$ T  r! l" {, Ccd /var/www/
    9 `# `. N# p- Y8 e- c6 gwget https://github.com/YOURLS/YOURLS/archive/master.zip# p) M% Y' b5 d2 O$ p7 o
    unzip master.zip
    3 O* v5 ^9 [% t2 u! Y' s1 Qmv YOURLS-master YOURLS
    6 X+ i8 j9 w: Q, G9 f! |$ Q% M# 修改网站目录权限7 O, M1 ^! c+ f$ z6 _; S
    # Ubuntu/Debian系统
    & y( B! ?0 G) I+ Q, i/ ~chown -R www-data:www-data YOURLS
    # ]4 C6 i  u3 A" j3 M8 K% X7 n# CentOS4 w$ h& \) W/ m* C) r
    chown -R apache:apache YOURLS9 u$ {5 F6 R5 Z; p) i5 _/ }
    cd YOURLS7 r: f0 N$ F# E" }( w
    cp user/config-sample.php user/config.php1 I: ~' K6 f; M* Q7 I
    cp sample-public-front-page.txt index.php
    6 D$ f( y: M- @. Lcp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:5 E) v( ]6 @! D4 `
    define( 'YOURLS_DB_USER', '填写你的数据库用户名' );1 ^& w0 A. E! J$ ^0 f: L( e
    define( 'YOURLS_DB_PASS', '填写数据库密码' );) I+ @; ^& F" e- L- U
    define( 'YOURLS_DB_NAME', '填写数据库名字' );; }+ D; P8 _& D8 Y
    # 这两行基本不用改' s0 R2 t: y$ `* o& F& k
    define( 'YOURLS_DB_HOST', 'localhost' );
    ; c: b+ t7 H* ~: n8 F5 B6 |define( 'YOURLS_DB_PREFIX', 'yourls_' );$ O: z2 S% `/ A0 y; M
    # 填写你的域名,不要加www形式1 q3 Q. X$ g+ G4 z, N: W( z( o
    define( 'YOURLS_SITE', 'http://你的域名' );
    $ g/ M( B% [& s) a3 C# 填写时区,国内是8' h0 D% z& F' J
    define( 'YOURLS_HOURS_OFFSET', 8 );
      o# E2 m5 U; M, }5 g. U0 V# 设置为中文1 V& Z$ |. x$ i8 O; j: F) g
    define( 'YOURLS_LANG', 'zh_CN' );
    1 ]& s1 T  ~9 X( N/** Allow multiple short URLs for a same long URL
    - V8 a& ]7 F+ q5 d. n; E ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)* \. [& h6 g0 l! m! i2 L
    ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */% |) E+ L) S6 m9 \! d
    define( 'YOURLS_UNIQUE_URLS', false );3 ~8 ~( ~" R. [# s: {
    # 设置私有权限  k6 i, `* G5 c1 y# G" y$ X% k4 E
    define( 'YOURLS_PRIVATE', true );! j# |) ~- J0 D0 D/ [* p$ P1 X8 x
    2 j7 `' D( H- p$ m& _- N; U# \
    define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );& J) @# P5 w3 ^' |! o4 n- P9 v
    # 后台登录用户名和密码,一行设置一个,请务必修改  ~# Z! k( A: i+ n! [
    $yourls_user_passwords = array(
    ' s, q6 @! B  c0 o7 t( S0 N9 d        '用户名1' => '密码1',
    ) e( V% y9 h8 H4 r        // 'username2' => 'password2',
    8 w! z# ^+ K' h- [        // You can have one or more 'login'=>'password' lines
    " R; j0 P5 ~) `) ]5 Y1 M3 E        );
    ; y; m8 }' ?0 C/** Debug mode to output some internal information, `2 _0 B) T" Z) |
    ** Default is false for live site. Enable when coding or before submitting a new issue */" n. J: ~2 ?9 @% \) v* Y1 s
    define( 'YOURLS_DEBUG', false );5 Q* N5 i# j4 Z% ]: h6 u6 S( a
    # 网址中允许大些字母填62,否则填36# X/ n& l% E6 P0 j0 ?
    define( 'YOURLS_URL_CONVERT', 62 );
    4 J1 S8 A8 Q' W: A/*4 A0 X# {& u( z4 s. ]% w4 d7 J7 F
    * 36: generates all lowercase keywords (ie: 13jkm)
    0 u# ^0 N1 k7 v, [ * 62: generates mixed case keywords (ie: 13jKm or 13JKm)5 ?/ g7 K6 z: T) p; {
    * Stick to one setting. It's best not to change after you've started creating links.
    7 |* ]. ?; V* F9 u */
    2 I# `8 b& u' `# 保留的关键字,可自己添加/ h& J3 t* n: l. c6 R- j* ?4 d
    $yourls_reserved_URL = array(0 R, b' t+ `" V3 y9 \0 o/ P
            'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',' j5 j  n5 W. w+ b- A5 w9 j
    );接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
    8 g$ T; @* D& U4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
      [) t" U! |: l( q9 m* I# A  Pserver {1 x' g# m6 I0 o4 n) K
        listen   80;0 h: v& X: C) y
        server_name 你的域名;8 l6 M, l0 Q  _# v
        charset utf-8;) `8 j  K$ B' n
        root "/var/www/YOURLS";
    " o! Q' V. q" _0 _    location / {
    % g& I4 s: q. c        index  index.php index.html;8 ^$ D5 U# k$ m0 G) A9 d4 P$ Q
            try_files $uri $uri/ /yourls-loader.php$is_args$args;
    5 l$ U5 k& P- Z- k0 c7 y$ x8 U    }
    ; ?; y, t% S1 |1 A; H; o    location ~ ^/\.user\.ini {5 n) H0 `6 _  O
                deny all;
    + {5 {1 I# ^4 p9 H: V; N1 j  g: W/ G    }
    9 `2 ]3 l; y0 x8 M0 A7 i' w$ Q2 u0 W    location ~ \.php$ {* A) Z. _& L4 }. O9 l
            try_files $uri =404;, ~& y0 J3 N8 R3 H- y# a
            fastcgi_index index.php;
    ; a; v2 u3 y$ M; K0 \) B) l# M        # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
    % g) |2 ~$ b3 w        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    6 K. L: e! m/ E, }        include fastcgi_params;
    ) ~- N0 {% L! c" W        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    ( A6 g& ^! P: s7 A    }$ D8 x, @/ |1 F2 p) S# h0 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)$ {
    , l6 Q! G8 i3 D$ X7 a1 E. ^, g1 L        expires max;
    , e9 S+ x" }1 _. M: c: _, y        access_log off;
    , e& m  m, \/ m        try_files $uri =404;& f0 @& F) q1 I( [
        }
    0 z5 U0 B) U7 C. r}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书5 A$ f! P9 E! u$ \. l% a" E
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
    ; s. V' D1 x8 }. b浏览器打开你的域名,配置正确的话应该能看到类似如下截图:) N+ L% g% K/ ]% a! U5 q

    ; q6 A( f. b* y3 u" E, K" n& x# w0 x7 g
    YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
    ( R$ E; z# H; g# ]! V: X 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。+ a( i' v+ _5 M% x5 g
    首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:6 l6 j8 i2 `& h3 K# L

    0 {. P+ `- O$ t& X0 C2 E+ i; Z9 w( w" x% W' f! B6 J. M1 n
    YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
    2 S; D4 o4 x; y3 r1 u推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
    # e; }! [3 x/ iYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。( Y5 {6 M3 E) e  I: W, U) e& s- B
    最终网站前端效果图:
    0 Y( p  z0 P' E# l2 Q* }
    7 }9 }7 \  H1 h2 {: ~. k
    8 E% R5 m, n5 k6 I0 K短网址前端效果图后端效果图:
    " ]4 }! H; q# {, T, c2 d3 K0 [: @: v

    8 t) l/ p! H: R( U短网址后端效果图相对原版颜值高了不少。7 J" Q( z( z% \$ A. [) ~- K0 h/ }
    参考返回目录[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号 )
    快速回复 返回顶部 返回列表