扫一扫,微信登陆

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

搜索
查看: 894|回复: 0

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

[复制链接]

1万

主题

1万

帖子

5万

积分

论坛元老

Rank: 8Rank: 8

积分
56206
发表于 2022-9-11 21:04:53 | 显示全部楼层 |阅读模式
本文目录
  • 使用YOURLS搭建自己的短网址服务
  • 部署YOURLS
  • 配置YOURLS
  • 参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。! F: M2 X/ e+ l' R  T8 l
    经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。$ o; f: [: @0 M! H1 `  ?5 \! T
    本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。; g% N3 x/ w/ X0 z
    使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
    8 H. M+ O7 i; i, e
    7 O$ V5 _5 }- Q9 O) j4 l0 R8 \
    # w# G4 d5 q9 O; q$ z1 w6 f域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:, R9 D9 Z3 r/ C- [: d
    # Debian/Ubuntu系统安装PHP 7.49 \5 N  T1 j) W3 q
    apt install -y lsb-release gnupg2
    8 b5 C1 V, H# {# Vwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -# A: V. @( S  s. V, w" l; S+ k
    echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
    / e; p7 C1 @8 \  U: b7 q" `' xapt update8 q+ m. E3 g! h4 B: q5 N+ H8 S
    apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \& T  ]/ n; i( U
    php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
    % p, ~) l: n, J7 i5 L, \update-alternatives --set php /usr/bin/php7.4
    ; |" V* W$ i' n# 启动PHP-FPM8 z# l  M/ v  ~1 o! f
    systemctl start php7.4-fpm# y/ u+ v$ z3 R+ [$ A1 V. i
    接着安装Mysql(MariaDB):
    # B; N3 q- h& ~# Debian/Ubuntu安装Mariadb$ E2 z1 D& v% N7 r5 Q2 }
    apt install -y mariadb-server" O' v) [) ^6 a$ F& v
    #CentOS安装Mariadb
    4 l  G, h$ ?$ Y" E/ @4 ~yum install -y mariadb-server
    2 U# @8 F& v& J4 ]. p9 Zsystemctl enable mariadb
    1 g. W/ W4 g" V! a1 V- i& k#启动Mariadb
    ! b8 t4 O8 j: O, d6 u: W* C. Dsystemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
    3 f- v# M4 k4 Y3 @$ Z3 @" h5 J6 k#CentOS系统安装Nginx
    - q. H4 e0 ?) v1 Vyum install -y nginx4 N! b2 ~2 H7 r) `% }! K
    systemctl enable nginx0 V3 }5 k3 }0 m& b7 y
    #Debian/Ubuntu安装Nginx
    ' ]/ V" F6 v+ v3 O! Papt install -y nginx
    ; U# ]! j! f1 M% K; g. Y9 S安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
    6 E# N+ i; G3 o& R 部署YOURLS返回目录部署YOURLS的步骤如下:
    0 E" v1 o/ b: B' ~8 g9 A- U1. 创建YOURLS的数据库用户名和数据库:
    ) z2 v! O2 ^' a  G% S# |2 s# 进入数据库
    5 A( r- F$ j0 N: ?mysql. z; E6 Y% m0 {7 O& T7 B" A
    # 创建用户名,用户名和密码改成你自己的* @6 {8 l# X/ {0 S' ~6 R3 P
    CREATE USER 用户名@'%' IDENTIFIED BY '密码';! o& h! I0 t5 k* J
    # 创建数据库,数据库名字改成你自己的
    ( R! {$ U" R( o) C9 W- zCREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
    1 |  z! b) x9 [5 A* u3 j6 `4 {# 赋予权限. H* n- `, u) O; q8 x
    GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
    : s" Y1 s+ Q( \- e! \) V# 刷新权限
    ( n: a! T1 Y& c/ OFLUSH PRIVILEGES;2. 下载和安装YOURLS:
    2 C3 e' k* ?8 ^3 X+ @/ M$ Imkdir -p /var/www
    9 j' U& j3 n  C; n, [/ Gcd /var/www/
    5 N0 }4 x5 y  X/ o3 pwget https://github.com/YOURLS/YOURLS/archive/master.zip- ?% \$ q6 L8 d7 V
    unzip master.zip
    ; _, b! C  O' A- S4 W; |9 emv YOURLS-master YOURLS" H/ _  z# K7 C
    # 修改网站目录权限- I! a- q- n! R* X/ ]* ?
    # Ubuntu/Debian系统9 _3 m7 \" L9 n; T
    chown -R www-data:www-data YOURLS
    % J$ O" D% T! X# CentOS
    3 ^/ X3 H5 Y2 @6 B7 U( Xchown -R apache:apache YOURLS
    ; i) \3 D' J# o2 t& v+ g, Icd YOURLS
    $ d$ f4 @/ L& a- ?, W3 rcp user/config-sample.php user/config.php
      r) [# j. e! jcp sample-public-front-page.txt index.php- F  z5 J1 W. _
    cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
    ; ^. M: \2 S6 wdefine( 'YOURLS_DB_USER', '填写你的数据库用户名' );
    ' t8 }2 e' s6 i6 X7 {- wdefine( 'YOURLS_DB_PASS', '填写数据库密码' );
    ! ^, c% m1 P5 n/ Y' V% Fdefine( 'YOURLS_DB_NAME', '填写数据库名字' );" O8 F+ Q4 I" H8 P
    # 这两行基本不用改
    5 n5 a& `5 V' n( N2 @6 Sdefine( 'YOURLS_DB_HOST', 'localhost' );
    / p$ _" D" J/ Q  z4 Qdefine( 'YOURLS_DB_PREFIX', 'yourls_' );/ _6 S5 d- M9 t# ]3 H
    # 填写你的域名,不要加www形式
    * L1 L2 b3 X8 k3 zdefine( 'YOURLS_SITE', 'http://你的域名' );7 [7 R) m3 q0 r# ?
    # 填写时区,国内是8
    9 C5 ^! a& b" W+ edefine( 'YOURLS_HOURS_OFFSET', 8 );
    5 n; S& n, R& w% }# 设置为中文
    8 F$ N' Q! ^1 {- }% T8 Xdefine( 'YOURLS_LANG', 'zh_CN' );& ?/ [$ V! E% B/ @8 w, ~; @
    /** Allow multiple short URLs for a same long URL
    8 `5 l0 K0 N) w3 u ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)# D6 C$ A9 a) p8 u  y$ I9 V% o7 W
    ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */- w# e; W) B- u  V. V, Q6 D! [1 K
    define( 'YOURLS_UNIQUE_URLS', false );% t' A1 c% R& E) b6 S9 X
    # 设置私有权限
    ) e9 s9 Q& p$ e! s+ |! V8 Y% `define( 'YOURLS_PRIVATE', true );
    + |. K# e, A( Y" Z+ a7 A' ^- @0 \7 E; ?, r" s
    define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );$ V1 E. l  M6 k0 J5 W- j% U
    # 后台登录用户名和密码,一行设置一个,请务必修改
    ; p* W% r: M! r/ R  H1 U% E) _( y$yourls_user_passwords = array(
    & ?% O. v7 b$ W: u        '用户名1' => '密码1',( `9 R* y5 H4 `, e8 }. g3 V. N  p
            // 'username2' => 'password2',; a5 Y, p# W& M1 U3 ^" X* @4 w
            // You can have one or more 'login'=>'password' lines
    7 H0 m* @; z& u  W* [. F        );
    ' C% M& Q" X" S* G% `/** Debug mode to output some internal information
    4 W) N; x; V9 { ** Default is false for live site. Enable when coding or before submitting a new issue */6 M# Z8 _" P" B7 @: B! [4 u& M4 H
    define( 'YOURLS_DEBUG', false );
    0 y* @! q0 q; ~* |1 f3 b* A# 网址中允许大些字母填62,否则填36- w) H' A) D- B
    define( 'YOURLS_URL_CONVERT', 62 );
    $ z% s& q2 k) ~1 Y/*1 o6 s8 {3 M: u* l0 `7 a+ Y+ G
    * 36: generates all lowercase keywords (ie: 13jkm). e4 h, R8 Y9 O' M3 I, J
    * 62: generates mixed case keywords (ie: 13jKm or 13JKm)( w, k4 e$ |( d' ]
    * Stick to one setting. It's best not to change after you've started creating links.
    1 Q6 Q, d; b5 Z4 s2 c4 _ */
    6 N1 t/ S: e! ~% N5 X# 保留的关键字,可自己添加
    " s" B6 q% ?9 y- A: C$yourls_reserved_URL = array(8 s! n1 g, Y" C: l6 I7 C) T( k+ M
            'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
    0 V% ^: U, P' z0 _$ g);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。# U$ P: x: h8 p- V# S7 b
    4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容! I, D' M9 c4 ?0 J: D
    server {( `% Y9 ~/ L8 N- w
        listen   80;
    ( _# w7 a3 P& p$ \* n; [  [" ?    server_name 你的域名;7 t: r& n; X5 Z8 @
        charset utf-8;
    6 s1 {0 ]8 p* |- M" i0 S$ W6 `2 r    root "/var/www/YOURLS";
    9 ~5 _- i# F/ N$ Z: P' m. B    location / {+ }# I5 ]1 ]* C. i
            index  index.php index.html;
    8 Z3 U* l, B. {/ w3 Q2 x% u& z5 w        try_files $uri $uri/ /yourls-loader.php$is_args$args;* B6 f7 e9 g7 {7 L* m/ r& F
        }
    4 v; a" A) X+ d0 _2 u+ j% b    location ~ ^/\.user\.ini {
    1 `+ G5 f4 v! n" j5 [  Z+ Z            deny all;
    / }8 Z+ V' U- i" `9 [  z* m5 {    }
    1 C5 u$ b' I+ s1 u" W    location ~ \.php$ {
    ( [3 m! e6 @5 s5 i7 z9 s        try_files $uri =404;
    % M8 p8 _" w  Q        fastcgi_index index.php;" w; j' q: |' F4 |( w! |" A
            # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
      _; J8 c$ e, ^, f. `9 K2 [        fastcgi_pass unix:/run/php/php7.4-fpm.sock;7 S' Q& B& V0 G- {8 `/ `! l- N- k7 x
            include fastcgi_params;
    8 b1 R- f8 e9 y3 x; R6 g6 P        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;# L2 D6 ?. ^5 D1 `# Z# t1 p
        }- s+ f) D6 }- F4 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)$ {
    5 E4 i4 k0 Z* _$ R4 x- z        expires max;& {# Z9 _+ l: V/ p
            access_log off;
    3 O8 n; v7 r4 u' Z3 ~        try_files $uri =404;
    % g, H: ?6 T9 [: Q' [! C    }
    4 ^# f9 y$ B! {0 J) n2 c}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
    ) Y; \( C0 R7 |& x4 C) U- M* e( @
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。( l- e" f9 ~- G- y/ G1 f, A1 U
    浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
    % E7 p8 u  s/ E' n8 f1 ]6 g# U. [8 y/ m; i, i8 _! R2 s. X* l# _# R

    - g" |6 V1 m/ _5 }5 yYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。, D2 |- k7 I, ?# a# r+ Z
    配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
    7 V+ ]" Q1 j% d8 U( z0 ~' d  I首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
    4 P, n1 X5 |. ?, H3 |2 d6 V
    8 @, u4 d2 Z4 Q( o1 {$ J8 N
    " [) g# A; b' z1 qYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。; m4 A' f3 X9 f" U
    推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。) s- X" G; j' c1 E' w
    YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。8 @" X! {$ A( y: A; |7 O
    最终网站前端效果图:' h  A! @, Z/ k% s7 G- u! e
    " Y2 q% r1 s, t7 p& x: I3 J

    4 u! X9 I1 U, J& x. B; [短网址前端效果图后端效果图:9 Z  j1 L) A/ u3 ?9 w
    6 x" E1 n( t' m( o7 F
    6 B" T$ r& \3 s; o$ j) o: U7 ~9 y
    短网址后端效果图相对原版颜值高了不少。3 ?$ I% u' T* [( {
    参考返回目录[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号 )
    快速回复 返回顶部 返回列表