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

找回密码
立即注册
搜索
热搜: 活动 交友 discuz
发新帖

5万

积分

0

好友

1万

主题
发表于 2022-9-11 21:04:53 | 查看: 1238| 回复: 0
本文目录
  • 使用YOURLS搭建自己的短网址服务
  • 部署YOURLS
  • 配置YOURLS
  • 参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
    : \+ j- J1 t5 M5 w- f经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
    " s% m' ]! ~3 {8 z2 y% Z: j( t本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
    ; m, w& C3 E7 }8 f 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
    " c5 |( L  {$ l4 e: o8 ~
    & W# q3 i- k. I
    $ v* R' b5 s1 H/ q6 F# R域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
    3 z; ^3 p  l4 n; g# Debian/Ubuntu系统安装PHP 7.4
    * m+ _9 E$ u0 j. q9 G, Oapt install -y lsb-release gnupg2* T2 Q) s4 [5 k1 i8 ]
    wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
    % I, v8 M- \, Y/ Kecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list+ @% G. @6 z+ F8 u: _
    apt update& v* B! K4 L. ]/ c7 Z' X6 x
    apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \
    3 g- g0 f7 L  v php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
    3 N- e# U. s1 G2 ^/ {' h& X5 Oupdate-alternatives --set php /usr/bin/php7.4# k2 M7 Q- ]5 i- f$ d
    # 启动PHP-FPM5 ~2 K8 j% g& ?! U+ a4 n: J$ P
    systemctl start php7.4-fpm" J5 Z. g7 T& Y6 P' ]
    接着安装Mysql(MariaDB):  [1 X2 l" ?4 |
    # Debian/Ubuntu安装Mariadb" `: n; ?( [6 Q9 p! K
    apt install -y mariadb-server
    : Q, k# T/ j4 d#CentOS安装Mariadb
    * F# v( Z+ m5 w" n( z4 V4 S: ]  kyum install -y mariadb-server
    ( T/ o7 D; u$ [: x- A9 a9 Msystemctl enable mariadb
    - G1 d* ]0 `+ g8 i# b#启动Mariadb5 ~. K# _8 x' `' q" |1 \
    systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
    ( `. s% X7 g- Z4 C  L#CentOS系统安装Nginx. a6 @3 _4 s$ d, ?9 n# N; v
    yum install -y nginx
    ! s% ]$ S9 [+ n9 t6 v8 osystemctl enable nginx
    1 [# t: v/ b# ~3 _#Debian/Ubuntu安装Nginx
    * {+ G! y3 @6 K0 X2 G" L  }apt install -y nginx
    4 Z: |% a4 T* b0 c( @3 I# m安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。2 P1 `1 A' J4 S" U+ t: t* c. V
    部署YOURLS返回目录部署YOURLS的步骤如下:+ I$ x" S( N- j
    1. 创建YOURLS的数据库用户名和数据库:- y6 B3 O; Q2 O
    # 进入数据库+ T! U" x; d/ r7 f- o7 y
    mysql
    $ A0 O4 u2 V& B  {7 P2 |; U# 创建用户名,用户名和密码改成你自己的3 P1 K2 f  e% |
    CREATE USER 用户名@'%' IDENTIFIED BY '密码';
    0 ]8 b7 d7 ~1 W( G+ I1 G# 创建数据库,数据库名字改成你自己的) X( z1 E  R+ Q; \! @6 S
    CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
    % Y, a: ?, C5 u8 W( F# 赋予权限
    6 f. N, z8 g0 ~5 N! k0 gGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
    5 g: f/ W) `- m( X# 刷新权限- c, }' D% B/ ~" b* w
    FLUSH PRIVILEGES;2. 下载和安装YOURLS:
    ) e" F: f6 P8 T" W+ amkdir -p /var/www
    ! }0 ?/ [4 B8 a; Ucd /var/www/) K7 H- ^8 }5 u. W# I2 C/ d; e
    wget https://github.com/YOURLS/YOURLS/archive/master.zip3 J. V2 t2 V$ z  w
    unzip master.zip8 [8 A- d7 u9 Y2 c# |0 x& v
    mv YOURLS-master YOURLS! \' I! n: ]. _1 k0 W% @
    # 修改网站目录权限
    1 G0 Z! \% a1 ^* x3 h# Ubuntu/Debian系统
    0 g! Q8 Z( e$ c7 \chown -R www-data:www-data YOURLS
    1 k& z6 ?1 r1 D0 d# CentOS
    0 U8 O% J8 [+ X: V5 s7 Gchown -R apache:apache YOURLS
    + M" V& z) x  I- [cd YOURLS0 B4 Z) u+ i$ G7 N
    cp user/config-sample.php user/config.php
    2 G/ k( I" z, s6 M# l0 A3 _cp sample-public-front-page.txt index.php% R2 W. z( [& \$ Q
    cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:# v8 Y) B1 j! y0 [" Q  {) B* U
    define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
    4 v! ?. j& u3 V9 }5 ^( Tdefine( 'YOURLS_DB_PASS', '填写数据库密码' );" d4 F/ W5 U) m# c
    define( 'YOURLS_DB_NAME', '填写数据库名字' );+ c; A) }4 g7 Q1 v* k
    # 这两行基本不用改
    ( E& F4 [* b4 idefine( 'YOURLS_DB_HOST', 'localhost' );
    4 q$ U1 e; S, K( }% idefine( 'YOURLS_DB_PREFIX', 'yourls_' );
    6 w7 @9 w2 e; v* H- y, Z# 填写你的域名,不要加www形式, M$ h; t8 i0 y' h$ T+ x1 K
    define( 'YOURLS_SITE', 'http://你的域名' );
    4 q2 S1 h4 j9 y% P; n: W7 \. s3 F4 ^# 填写时区,国内是8
    0 |7 B3 F8 H" L7 w  jdefine( 'YOURLS_HOURS_OFFSET', 8 );
    9 `6 |  D: D; K  S- K" h# 设置为中文
    * v1 i/ J  F( B$ C) }define( 'YOURLS_LANG', 'zh_CN' );
    $ G  q+ g' T2 x. h' t7 I" [/** Allow multiple short URLs for a same long URL
    / P+ @! d/ w$ ?: _; ]5 \9 a9 s5 T0 q ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)) Y; @3 j4 s! C0 q! z  X$ [
    ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */7 M( y6 i. R0 P0 \' U/ l
    define( 'YOURLS_UNIQUE_URLS', false );: @$ j4 r% s1 y+ L- ^: k2 P5 ~
    # 设置私有权限
    ) |) j- m' t9 u1 F/ p( _define( 'YOURLS_PRIVATE', true );
    1 W7 t+ Y% `! h5 \* }
    2 Z/ q3 v* b& q% s: |9 R  M1 Idefine( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );  ?) y# r3 g$ Q+ f9 X8 ~' u% @: J9 v
    # 后台登录用户名和密码,一行设置一个,请务必修改! N- ~; W6 z: G& G) ~
    $yourls_user_passwords = array(
    " t/ t& v' q% A3 G        '用户名1' => '密码1',- \% ^; A( U+ g! J0 z
            // 'username2' => 'password2',7 J3 s4 G/ G( V) E! p/ L
            // You can have one or more 'login'=>'password' lines3 d% R, h3 z: G+ c" r! X
            );% t/ E2 T  p, i
    /** Debug mode to output some internal information
    4 e  R( L8 L+ }  J  H( | ** Default is false for live site. Enable when coding or before submitting a new issue */& |2 y- k& g. t5 N6 M. B
    define( 'YOURLS_DEBUG', false );. Y8 E5 y+ M, v9 v) F/ m& ^. e
    # 网址中允许大些字母填62,否则填36
    % T% W$ q) n9 C% `. e  cdefine( 'YOURLS_URL_CONVERT', 62 );
    * w! y3 l* `8 o8 ^2 u/*
    4 ~3 [1 B2 v7 @- H9 ~ * 36: generates all lowercase keywords (ie: 13jkm)
    # R- B! ?& K- t/ O+ Q' c * 62: generates mixed case keywords (ie: 13jKm or 13JKm)8 @7 b' \" a+ ]% X: C( t
    * Stick to one setting. It's best not to change after you've started creating links.# s- l: n* C3 W& c
    */
    1 c" f: Q- g% P# 保留的关键字,可自己添加! r) C/ q% W+ `/ ?5 a# Y: ^3 o! d
    $yourls_reserved_URL = array(
    0 x  Z! M# Z0 i        'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
    0 o, c, B8 d' {7 g0 U% \8 ]7 A4 f0 o);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。( w* w) ^  [. c6 h# {, Z
    4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
    , n( [2 L% H8 w: cserver {8 H5 F% @; w: t( D! E; V
        listen   80;6 b8 F; F) U: [
        server_name 你的域名;
    & p& H5 u6 p0 o: H  D    charset utf-8;
    / ~+ x; |4 `! G    root "/var/www/YOURLS";
    ; j. m0 x; m* z2 V    location / {$ O0 G$ a2 X+ \( H
            index  index.php index.html;) X* }& ]6 k" _. |9 K/ A
            try_files $uri $uri/ /yourls-loader.php$is_args$args;2 }9 ]4 i; J; E5 t
        }
    . ]% p! a  p, c/ ?1 G4 g    location ~ ^/\.user\.ini {
    , K3 q9 _) i+ q) x; z. Q$ f* F            deny all;2 L. X4 J, {$ |3 c- U
        }
    / s: [) y# F. ~- }    location ~ \.php$ {
    0 r, j' e6 }# }6 W# Z        try_files $uri =404;2 B& z+ ?% V+ G) |# h( x
            fastcgi_index index.php;
    ; q& l9 F+ B1 I9 l1 c        # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
    " I/ E1 T. \0 M5 a$ I        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    : D6 i- ~4 }6 f' g0 N* q) s# x        include fastcgi_params;
    9 M6 K3 p) S( m) u        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;; P$ \! {) I& L# ~9 l9 a) Z) O
        }4 H3 |7 }( c+ E0 H2 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)$ {5 {& e1 L4 v' G* v1 W6 D2 x6 x
            expires max;- M& l7 \1 }) g9 Y
            access_log off;! T5 f' p0 j4 w9 F0 |. o
            try_files $uri =404;( P* ?0 _9 |4 T; A$ A0 Q
        }) B7 n: d! z) g* m5 o1 X% s6 @8 o
    }推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书9 d% q0 \$ P. I+ p
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。: C/ Z  q7 X6 [( O) C. S( Y
    浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
    7 H  A1 E& V* w; c# [/ a9 A" b* _2 m: Y, k+ v! @5 p- X  Z+ U/ {
    ! Z; x; {7 P) M* s
    YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。3 T. t. C8 K+ l8 Z+ d2 N
    配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。1 ^+ p6 d/ D( g- N. I
    首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
    9 p% R' R4 W/ a9 f5 e, @
    - P5 a- L% d0 E( d' L5 |% I& {5 b; w% @2 c' D( j' W/ E& u7 R; v
    YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
    . i+ Q) M# j) h7 P! S推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。6 @" t% V1 \1 Q0 `: d$ t2 R
    YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
    ' d! V3 Q& z- T6 l2 |* Z% x% c最终网站前端效果图:2 H# `9 p/ H% y/ x$ I9 V

    7 W# S2 K& K; j, I4 F% G" m5 J6 Y" H; I  }5 @( C: j
    短网址前端效果图后端效果图:4 k& ?2 D4 Y# i
    ' u% E" w$ ~1 s/ _9 m8 g
    * p& p2 l" F8 H
    短网址后端效果图相对原版颜值高了不少。( N' [" B, x8 v
    参考返回目录[ol]
  • YOURLS
  • Awesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5)
  • 本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    收藏回复 显示全部楼层 道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    QQ|Archiver|手机版|小黑屋|青浦海洋数码电脑城 ( 沪ICP备18024137号 )

    GMT+8, 2026-10-17 08:11 , Processed in 0.865986 second(s), 22 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表