扫一扫,微信登陆

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

搜索
查看: 822|回复: 0

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

[复制链接]

1万

主题

1万

帖子

5万

积分

论坛元老

Rank: 8Rank: 8

积分
56206
发表于 2022-9-11 21:04:53 | 显示全部楼层 |阅读模式
本文目录
  • 使用YOURLS搭建自己的短网址服务
  • 部署YOURLS
  • 配置YOURLS
  • 参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
    * y% D/ D4 t7 J* O经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。6 s% {- _, y3 n) r9 D
    本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。1 L' N' D2 @/ k' e3 G* L7 c
    使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
    5 c# z  G7 r" G+ l. b
    ' @4 G$ |8 [; R# P& w" X- e0 l' M
    9 ?; H9 n# L# |8 o域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
    2 Z" H1 |3 @; |' }  m$ p3 J3 X# Debian/Ubuntu系统安装PHP 7.4% u5 c. Y: A$ `2 N. g8 A5 W
    apt install -y lsb-release gnupg2
    6 _. i9 e7 L! k! ?9 ]$ Qwget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -( F7 e) a) Z8 _# Y+ q: Q
    echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
    - h/ b; U+ `! j# b* I. j6 zapt update# k8 v0 _6 I/ n* p$ J6 n3 k
    apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \$ {  b" ?+ T( F3 C& Z8 F+ e
    php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
    2 J8 b# A+ D6 C, r2 Tupdate-alternatives --set php /usr/bin/php7.4, o0 n& N- m* e& W' K) F
    # 启动PHP-FPM
    ' d( e$ ?: F  Ssystemctl start php7.4-fpm
    4 G4 @( L" g5 Y9 }接着安装Mysql(MariaDB):- r' d, o% o7 t
    # Debian/Ubuntu安装Mariadb1 T6 p  ^, z: S* B. B
    apt install -y mariadb-server! J0 k7 f( P2 Z  F( n6 S2 @5 a5 |
    #CentOS安装Mariadb% J, f5 B1 y/ \
    yum install -y mariadb-server
    ! s& q0 R# e3 _, B2 c3 csystemctl enable mariadb6 J# o1 u- j- E9 Y; t3 q% z
    #启动Mariadb& R# W7 o% ~# P$ {9 W- `
    systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
    # P( E0 z4 b5 W# q/ [; h5 t, s  m#CentOS系统安装Nginx
    * f: A! B9 `3 F2 O* yyum install -y nginx  i; ~8 A1 W: x/ a
    systemctl enable nginx  c7 c/ o/ x& Q0 Q* e1 S. A( \
    #Debian/Ubuntu安装Nginx2 q+ e! m2 f& B2 B0 [; K
    apt install -y nginx- U/ u* E$ F, [' @) L' f0 k8 w
    安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。  k3 S) o8 P1 z5 E$ H: B
    部署YOURLS返回目录部署YOURLS的步骤如下:  u7 A9 x: a5 }3 m8 ?
    1. 创建YOURLS的数据库用户名和数据库:
    3 I. ^5 Q9 \1 T8 b4 }: v2 Y/ l/ @# 进入数据库
    / g+ |+ n6 h2 u% s( X( n- Imysql
    3 @4 ?7 v6 x1 e0 \4 Z. D2 _; G# 创建用户名,用户名和密码改成你自己的
    : P; ?( O4 s6 q6 _3 aCREATE USER 用户名@'%' IDENTIFIED BY '密码';
    3 ~8 R4 f3 e: m8 j& d# 创建数据库,数据库名字改成你自己的2 I3 ]; e8 j  a0 h. u
    CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;" X$ Q. c4 h# Y3 y4 V* q
    # 赋予权限
    : a9 I8 w% K( ]' D* P8 y+ nGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';. F8 ]4 e' w" ^  [9 E
    # 刷新权限/ v* V" r/ I6 g' q
    FLUSH PRIVILEGES;2. 下载和安装YOURLS:/ Z) I5 C2 c5 R# d
    mkdir -p /var/www0 S6 J4 W7 A8 b( ~5 y' a( ]% `
    cd /var/www/
    " ^: S6 ~: b' _wget https://github.com/YOURLS/YOURLS/archive/master.zip
    5 R6 Z  }7 X" a3 P+ cunzip master.zip' D. ]2 f1 W) O# ]+ A
    mv YOURLS-master YOURLS
    / r- B: `4 b& e2 C; s8 o# 修改网站目录权限  y# ~9 v( j4 \5 ^6 N+ L
    # Ubuntu/Debian系统/ e& h5 X% D/ a
    chown -R www-data:www-data YOURLS" J9 U4 t& A9 ~
    # CentOS
    4 V$ F; b" m& Z  x2 `/ ~chown -R apache:apache YOURLS
    8 l! t; h5 w% u- \0 Ccd YOURLS) T! o9 i9 E5 g5 o; m6 E0 _
    cp user/config-sample.php user/config.php
    : R, Z7 e$ V" u4 \2 Kcp sample-public-front-page.txt index.php
    % Y/ N, g; _! rcp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:' R: j; `. ~5 O& F7 F3 B
    define( 'YOURLS_DB_USER', '填写你的数据库用户名' );4 E8 y1 K' q) \/ E
    define( 'YOURLS_DB_PASS', '填写数据库密码' );0 ?2 h7 T4 c7 O. |% }: J- o
    define( 'YOURLS_DB_NAME', '填写数据库名字' );
    9 }* E8 u6 c" [: h- Y# 这两行基本不用改# r, ~* R& G* Y0 Y7 p' @& k
    define( 'YOURLS_DB_HOST', 'localhost' );3 G! u1 z# U9 v8 W  S. `
    define( 'YOURLS_DB_PREFIX', 'yourls_' );7 k- R8 M3 v; b7 y3 z
    # 填写你的域名,不要加www形式) R/ U( l, R% c+ B/ n' V. e5 [; H
    define( 'YOURLS_SITE', 'http://你的域名' );# o- `+ O, S" c8 i* ~
    # 填写时区,国内是8
      c3 T4 H- [3 |( ?define( 'YOURLS_HOURS_OFFSET', 8 );; B8 L2 h+ d, k+ Z1 w# @
    # 设置为中文; O& t* I) \. N& ^' `+ z5 c
    define( 'YOURLS_LANG', 'zh_CN' );8 X$ y2 D' x2 I- R" q8 T1 b" M, u
    /** Allow multiple short URLs for a same long URL
    9 \8 ]7 p6 P) X; S4 E, u ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)  M- p) J: F& ?7 a! Z& _& y4 E
    ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
      |& b6 X& _; j/ Y% E2 Q3 tdefine( 'YOURLS_UNIQUE_URLS', false );
    4 G$ u3 A, U% G3 l1 _/ A# 设置私有权限2 C5 Y9 w0 k$ K" @" r+ V
    define( 'YOURLS_PRIVATE', true );1 n" S6 r  X9 Q/ h* I" [2 E# g$ z

    4 \" g0 ]; k3 x' C  l) {define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );  ^. I! b8 E3 K* x, G- D" W: F# S
    # 后台登录用户名和密码,一行设置一个,请务必修改
    6 g$ U3 R4 ^" w, g: E: X7 ~3 N$yourls_user_passwords = array(" Q, B8 i6 ~1 b) y. x
            '用户名1' => '密码1',
    5 y( V; ]( G9 [9 P+ F1 ?% ^        // 'username2' => 'password2',
    ) Z' \& R2 E9 r2 _7 B' O        // You can have one or more 'login'=>'password' lines+ F/ x+ w% b2 k( N) P
            );
      q# ^1 |  b1 `3 P; b/** Debug mode to output some internal information
    5 r% A* p% Z9 B# u9 S ** Default is false for live site. Enable when coding or before submitting a new issue */
    8 y4 d' z6 ~4 a1 W! ?- sdefine( 'YOURLS_DEBUG', false );
    5 I6 s$ J  k* l* p! j3 x- s# 网址中允许大些字母填62,否则填366 W) X: T' T3 _) h# }% H0 |
    define( 'YOURLS_URL_CONVERT', 62 );, D+ j# P5 A5 ]: ~$ `/ S
    /*
    6 u9 p/ _* {& ^  h. j* o+ `) J * 36: generates all lowercase keywords (ie: 13jkm)( H) A, \5 ~2 y% y
    * 62: generates mixed case keywords (ie: 13jKm or 13JKm), i! Y$ \9 K  ?0 M/ F/ \9 S
    * Stick to one setting. It's best not to change after you've started creating links.) M; v2 C! t2 }8 `' M% P
    */# S, B: h7 {/ l7 R, N, ?4 d5 w' W; K
    # 保留的关键字,可自己添加
    4 \) _3 a8 u0 N9 y( i$ f, z1 e( A5 l$yourls_reserved_URL = array(
    ) c! Z3 v2 s! `4 a: K3 P        'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
      f& @0 X+ i/ Q$ g$ Q2 g);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。* s5 d: V5 e, ~  w4 _
    4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
    6 M3 d! k' T6 eserver {- q( a. T3 @; i
        listen   80;
    5 w9 j8 e. i. I' D    server_name 你的域名;2 _1 A1 w0 o+ K' F3 P8 [. `4 n! y
        charset utf-8;
    ; |0 G$ ?2 A1 @9 E, J    root "/var/www/YOURLS";% J6 }0 D7 F( b4 s6 ]. t8 |# ]
        location / {
    ( k5 V; l/ a% Y! b; n- G8 Z        index  index.php index.html;
    : [  P. V  C8 O4 O7 |) R! O        try_files $uri $uri/ /yourls-loader.php$is_args$args;& I# \& K( ~9 s3 Z6 a
        }" }' {) }  R- a; ~& d3 P
        location ~ ^/\.user\.ini {
    * H% K" {& R$ M. J& ^" u            deny all;
    6 y3 u3 b2 P9 T6 h    }8 t( z8 Y/ o3 _2 \; K7 [5 H
        location ~ \.php$ {
    $ O2 H4 Y9 l9 `; g' i1 b3 K        try_files $uri =404;5 s* R+ b+ z/ w! A( |. Z
            fastcgi_index index.php;2 @1 b" K3 E/ e$ ?! W& @& P9 M
            # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
    ' x2 T5 `5 F' H! W  ^  ~4 n        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    : B; V# v" D- ]7 ~        include fastcgi_params;
    2 o7 G- E" A  e6 d2 A7 c9 y& f        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    & u0 S3 ?2 j7 j  w    }8 z1 b) G/ v4 k# l/ ~% o1 o+ V
        location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {3 E3 m) A. N& e: O1 a5 V: ?8 e0 Z. W
            expires max;$ M# Z& k  n* s5 ]( ^) X
            access_log off;
    0 x! P9 Q# f/ c9 j& h* Z7 i% e        try_files $uri =404;
    " M6 N, F& X% i& J    }
    9 p" r  g0 X2 `% v}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书! W& R1 I, J. O- ]7 E
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。4 H2 e1 _% E% c. f
    浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
    1 X( B6 u) l, _2 a. y% F# m
    6 a4 Z9 I5 h$ y; q5 I" @
    . Y$ w& G8 E2 c0 VYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。8 X  ?5 k( E+ E6 z3 t
    配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。
    - b8 D' v% G& F5 ~( @- Q, F首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:* |2 Y& w8 E* O% t
    ' L# |* @# ^6 p  s4 R0 H
    ' d: R8 d- w1 D0 o0 i1 p% w- Z' O
    YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。5 F' R! {' D( c, O" g4 O0 J9 [7 U
    推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
    " L7 N4 L9 _7 i9 I1 i0 B& L  hYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。, t. _3 U( I7 ?. g9 [
    最终网站前端效果图:
    ! k) N# N, y" G$ _9 t+ l: W
    $ Z, @" s. P" F3 M+ d8 K0 N1 ^4 y- a; z8 R
    短网址前端效果图后端效果图:2 J+ t1 Z$ |: x& B2 G. M- W4 [
    $ F$ [9 U) S% S$ P* B$ X

    7 B! u; t1 L  x) f! z短网址后端效果图相对原版颜值高了不少。0 G. A" Y: }. T; N% K' q
    参考返回目录[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号 )
    快速回复 返回顶部 返回列表