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

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

5万

积分

0

好友

1万

主题
发表于 2022-9-11 21:04:53 | 查看: 1179| 回复: 0
本文目录
  • 使用YOURLS搭建自己的短网址服务
  • 部署YOURLS
  • 配置YOURLS
  • 参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。
    % I2 ?* O# [# ?( a" b% b: K, l0 {经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。+ d  r! F$ j# Z( L' w5 [% n& O0 g
    本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。1 X6 \7 G+ x0 `' r
    使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。# L' y8 N! b7 `7 Z

      M, L/ v( X% [- G* R
    4 W- Y7 q* E7 [( s6 `2 x域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
    , r9 u5 \$ E# W, Z7 v6 }# Debian/Ubuntu系统安装PHP 7.4
    3 ~5 ~( V* v8 f1 ^apt install -y lsb-release gnupg2
    5 ]. H1 [: t" o3 H, ?5 L% ^wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -* |" r: N: z' r
    echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list: J4 E; r) N' J9 `- u) }, t0 Z& a
    apt update
    2 ^! t4 U. Z; P! T; w7 z, q* Zapt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \3 Y* T% r4 z1 e9 c( Y
    php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick$ R+ |" a# j; ]% E* N  l
    update-alternatives --set php /usr/bin/php7.4
    " N" t) l: d. O! D# 启动PHP-FPM8 k$ Z; ]9 v2 M/ B; j
    systemctl start php7.4-fpm$ ]3 t6 P+ D) b2 P* @* n2 N# x
    接着安装Mysql(MariaDB):
    ( z# C' d7 W4 T8 k& w# c. `# Debian/Ubuntu安装Mariadb, O7 C- }. O9 ?- N* q) u0 q5 t
    apt install -y mariadb-server
    $ g* r7 N9 m7 K6 K& J9 Q/ ?5 s#CentOS安装Mariadb3 K& g, M7 ?1 m8 a3 N
    yum install -y mariadb-server
    4 o" i0 ?( e% ^6 k8 zsystemctl enable mariadb
    + [9 }) V8 N% f6 L/ |  q4 b" S#启动Mariadb3 E0 u+ |& Q; B( |5 u2 m  z, k
    systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:) }/ k% D. n8 W1 e1 e8 D& t- Q0 e% E
    #CentOS系统安装Nginx# b, w( i! |+ L, m& p" ?/ \
    yum install -y nginx0 [1 w/ o! ~- H7 O0 X
    systemctl enable nginx
    ) I3 D% o1 K# ~9 C' J- @#Debian/Ubuntu安装Nginx
    $ k! e: o( S  A9 ^9 mapt install -y nginx
    6 M( x5 r2 c2 H9 e安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。; S  h, T7 n9 E/ o9 _  v( I8 `
    部署YOURLS返回目录部署YOURLS的步骤如下:, z2 _6 I1 W9 I! R8 G: p& K2 Y
    1. 创建YOURLS的数据库用户名和数据库:
    & |# B6 {" N- L% k# 进入数据库; Z+ d# L& L% ?) i/ H5 z- G1 U4 I8 B
    mysql
    ; J+ V+ Z7 |" D9 A4 b5 ]# 创建用户名,用户名和密码改成你自己的0 F4 Y$ c$ a0 t* W$ e" x& b8 C
    CREATE USER 用户名@'%' IDENTIFIED BY '密码';
    7 O5 a- m& ~. u; N" N# 创建数据库,数据库名字改成你自己的
    $ T0 W# S( i- RCREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
    & C) s6 F% O. d1 U" g/ i& a' t( N# 赋予权限
    2 c; ^$ _) l5 F, w6 K: wGRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
    ! ~) R; A; w- A0 j0 X% T+ l- g( e6 m# 刷新权限, z. y0 x/ v  l) i
    FLUSH PRIVILEGES;2. 下载和安装YOURLS:; r0 j3 u) \; P, R5 S- ~
    mkdir -p /var/www# ]; _: W3 E  t3 u
    cd /var/www/6 Q' Q$ R) T% p  R& h
    wget https://github.com/YOURLS/YOURLS/archive/master.zip
      e4 n6 x! C8 j8 y  Vunzip master.zip
    9 W/ z  r, {& B" [* k/ amv YOURLS-master YOURLS5 n# O0 ]6 p1 \' |
    # 修改网站目录权限
    ' a9 u' z2 r3 \. w2 y. e# Ubuntu/Debian系统5 [$ @  c7 Q) l; {( U
    chown -R www-data:www-data YOURLS6 ]# K$ ]0 o! C" }: t# D: W; j9 ?
    # CentOS% {" E) S" |7 Y0 h6 W, w# B! W/ `4 a
    chown -R apache:apache YOURLS
    4 {+ `2 A0 f; M" z$ ccd YOURLS) g% g" z  Q4 V7 Q; Q0 a
    cp user/config-sample.php user/config.php5 B; r3 R, y" n3 L, x5 G% g
    cp sample-public-front-page.txt index.php# S$ I: c5 l# x1 v: K7 w- k
    cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:, e; w, R& q3 ~5 B- t
    define( 'YOURLS_DB_USER', '填写你的数据库用户名' );- H- i% {1 [$ c
    define( 'YOURLS_DB_PASS', '填写数据库密码' );# D) T" v+ X1 H4 h4 o
    define( 'YOURLS_DB_NAME', '填写数据库名字' );5 N; Q0 \* v( x$ A, s5 o
    # 这两行基本不用改
    0 m* r% a  u7 b% Odefine( 'YOURLS_DB_HOST', 'localhost' );5 r( E9 v4 F5 e, I/ v& B! q8 S/ r9 b2 k
    define( 'YOURLS_DB_PREFIX', 'yourls_' );
    # p8 u7 Y% ~" H6 o# x# 填写你的域名,不要加www形式7 p1 e, M' ?# \
    define( 'YOURLS_SITE', 'http://你的域名' );
    : D, m" I$ T+ O; V2 L# 填写时区,国内是85 i! n( e" H1 n' Q
    define( 'YOURLS_HOURS_OFFSET', 8 );
    7 E' g' v5 X$ ?+ }9 E# 设置为中文
    & A5 u1 d  K& _# O  t# U* D, Y  adefine( 'YOURLS_LANG', 'zh_CN' );( c4 y3 m/ [8 f; S. p  y/ F+ \
    /** Allow multiple short URLs for a same long URL# V- E& Y/ Z# c0 w  k
    ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior), R* [2 H& z, Y( U# }0 m( t
    ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
    & v- L' M  ?! n+ Cdefine( 'YOURLS_UNIQUE_URLS', false );
    8 e# G2 J6 E! g: x4 V) g5 D8 J& Y5 @# 设置私有权限
    & a4 i( O- {! E$ [9 Odefine( 'YOURLS_PRIVATE', true );
    9 W2 S. ~4 t+ w8 r  D1 C  |6 N' n" o" K) `) x
    define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
    1 f7 c5 {9 T- I0 @8 N& s) `. o# 后台登录用户名和密码,一行设置一个,请务必修改& S7 I8 n1 P9 d
    $yourls_user_passwords = array(1 K$ n$ p/ N: a% t' |. C) P1 z
            '用户名1' => '密码1',3 z2 b: {6 S/ Z, w$ f8 j7 P
            // 'username2' => 'password2',; u  C0 J1 ]% L) C( S/ g
            // You can have one or more 'login'=>'password' lines1 V, C3 R, ?7 r8 Z6 c* `2 W
            );' ?5 p2 @4 P1 D% c  o8 \4 I
    /** Debug mode to output some internal information- q: z7 |3 X! n* Y
    ** Default is false for live site. Enable when coding or before submitting a new issue */
    9 j' Z5 d; i; v! adefine( 'YOURLS_DEBUG', false );
    ( ^; x0 S5 }1 k# 网址中允许大些字母填62,否则填36
      H8 n! D' q: B: P  r: G4 Rdefine( 'YOURLS_URL_CONVERT', 62 );/ Q/ _& ]( D; x7 q
    /*! i! F5 {6 q7 ]
    * 36: generates all lowercase keywords (ie: 13jkm)- H  n! S0 p: Z. \6 Q3 l$ J3 e: ]% ]" [
    * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
    . L7 d: t; o' Q+ f * Stick to one setting. It's best not to change after you've started creating links.1 \/ z' \" R  H# s' {( }; s4 ~) x
    */
    8 P8 j6 h9 O4 I6 b# 保留的关键字,可自己添加
    ! [* }7 [* D5 C$ c$yourls_reserved_URL = array(
    ) `4 l% z0 U' Y( r2 d        'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
    ; [* \9 ?/ X6 `8 a% M: \$ ?9 d% u);接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
    * {0 w* J2 p; ?6 W' V8 Q4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容* D" @" U$ N+ `9 d* z
    server {8 Q: A, {  T4 C- \6 y0 k2 w
        listen   80;! R6 M( ^* Q9 S( r
        server_name 你的域名;
    $ ?9 f- k( f& b* }- `* ^    charset utf-8;
    & g# f7 l* B9 j& L; e9 U1 W" X7 e    root "/var/www/YOURLS";
    : W( f0 c" G. v$ Z- s) M6 J    location / {8 X7 L2 z2 ]. P" e1 H
            index  index.php index.html;0 D/ u3 E5 q* i  R; M
            try_files $uri $uri/ /yourls-loader.php$is_args$args;
    ) p' J. k+ H& a7 E3 E    }& R5 r0 z' g* o' s1 q7 g/ g# d: v5 f
        location ~ ^/\.user\.ini {4 n" V& r5 q  G) [4 c" Q- m0 C  o
                deny all;1 K1 o) M2 M) w1 f/ P  G# O# o) r8 M
        }: A5 J/ c7 o7 k; e* K2 s
        location ~ \.php$ {) }0 e* s# D& G- t
            try_files $uri =404;, I( a' Q- V0 Y
            fastcgi_index index.php;
    4 J, M- O5 M1 o7 `% h" c        # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
    4 a# f5 {/ ^& K) ^$ ^/ z        fastcgi_pass unix:/run/php/php7.4-fpm.sock;; C' n. u: v: K' n0 @/ ]$ O
            include fastcgi_params;" I( u# v' m: X" c: p: w
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;! \  p5 L- ?9 @1 {* n
        }3 w, t8 \9 G; y: c4 F$ L8 i7 V, i/ E# K
        location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {/ a) h( P' V2 g/ G7 ^2 G
            expires max;& v% k8 ~( u' m" B
            access_log off;2 f5 T, c4 G% ^
            try_files $uri =404;% q) ]1 O' Y2 D/ m4 e
        }: g( w- p' ^. N- @6 y, g( y3 C; i
    }推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
    # e+ k: u1 g/ g0 M0 n
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。" r4 |1 T% z: w6 I  J/ N
    浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
    2 Y/ U* ?1 `4 I& _( ?( y, L* M0 E$ {' h4 A$ w; b& e
    6 ^) o1 N" t) F9 \. d) S
    YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
    . V& v/ W+ {0 W! ]5 t5 J 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。4 M, K% f# I. G/ I/ b7 B! ~5 a; Q
    首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
    ; ~  |0 C$ F8 a$ t% g5 |9 Z+ H+ T+ Q" x0 ?. b

    ; ?* t5 U8 n2 P5 {YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。6 m+ p% M: h% C! ]8 ~2 I( D
    推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
    - D* a% Y, }- G1 JYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
    / R* H* _% W6 C9 W9 r最终网站前端效果图:
    ( y7 Z! `1 |5 f3 t% d: R" }9 \1 r8 y+ j# U! W+ a

    : e7 F* l+ s, R短网址前端效果图后端效果图:
    % F- H; f6 X( R" a& F
    # i9 H8 U: G2 g- w* z" n' b
    . T9 N: s2 y5 w7 M, P1 s短网址后端效果图相对原版颜值高了不少。. P. h4 |8 \3 f
    参考返回目录[ol]
  • YOURLS
  • Awesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5)
  • 本帖子中包含更多资源

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

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

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

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

    GMT+8, 2026-9-26 08:35 , Processed in 0.149142 second(s), 22 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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