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

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

5万

积分

0

好友

1万

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

    ( l  G/ f! h8 T* l! y/ f: V; Q& o$ F1 l5 t" W+ O
    域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:2 g  B' ?( _# S  Y# C9 |5 T7 ?
    # Debian/Ubuntu系统安装PHP 7.4" n$ Q. U9 w- Q
    apt install -y lsb-release gnupg2; R$ y. R; L1 C7 q0 {' H( Q
    wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
    0 Z* w$ U1 g: y( }3 Y$ a2 o% t* vecho"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
    : s0 Q( m, P. _. `+ P( Wapt update
    * [8 S0 E1 n/ ?apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \7 W# @6 `5 n8 n% }% W- _2 m$ L
    php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
    4 N* t' V+ z5 ~# Zupdate-alternatives --set php /usr/bin/php7.43 S9 ^9 L) `$ I$ o
    # 启动PHP-FPM
    1 @0 k; F# j: F' s! {' zsystemctl start php7.4-fpm. c  `& F! e7 I0 i0 m
    接着安装Mysql(MariaDB):
    / P, \& }( ]; d; Y; T* {1 i# Debian/Ubuntu安装Mariadb7 a( E$ L) l7 n: ]
    apt install -y mariadb-server
    5 Q3 o4 @4 V/ ^) Q' R- G$ n3 G$ }* R#CentOS安装Mariadb/ S2 S8 \+ b7 K. `' u5 ^; \0 p0 j/ S
    yum install -y mariadb-server
    " e" f% w& h9 C# D0 _systemctl enable mariadb
    " x) g$ l$ y& Q. a# J2 w. @#启动Mariadb
    ! o  z: Y1 G* P0 F' J8 @) z* Zsystemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:* W; o  T( a. `5 c# {1 u
    #CentOS系统安装Nginx
      s9 O; u) U" M/ \* Fyum install -y nginx% N5 Y, Q- z2 I% Z* ~
    systemctl enable nginx
    . e+ h; Q4 D3 p5 b3 |#Debian/Ubuntu安装Nginx
    3 p: g( N3 {$ X2 kapt install -y nginx6 Y* v5 o  _; Y2 t. ], }7 B: _
    安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
    + g, `# X) M) ?9 l 部署YOURLS返回目录部署YOURLS的步骤如下:
    ; m  C+ d2 q4 S; Y# ?1. 创建YOURLS的数据库用户名和数据库:9 @( |) G# p' F# p: S3 {: Q
    # 进入数据库# d) I% f/ J' d2 a$ T- m! ^1 g1 i
    mysql3 w$ }% \. P4 Q2 S5 i* |
    # 创建用户名,用户名和密码改成你自己的
    2 Z/ H* y/ k1 CCREATE USER 用户名@'%' IDENTIFIED BY '密码';- d- c4 U% l9 N* e& @
    # 创建数据库,数据库名字改成你自己的" `. {+ @: E  K
    CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;; W- E* k" [" d
    # 赋予权限2 `3 `$ H- R" u1 r& E
    GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';: I2 k# V, Q+ H2 Z" _2 T
    # 刷新权限& K) y# |/ m  m3 [8 t8 K
    FLUSH PRIVILEGES;2. 下载和安装YOURLS:/ ]& b& i$ |8 H; {8 U( {3 L7 g
    mkdir -p /var/www1 [$ r' r* h6 ]% e3 R* ~4 m
    cd /var/www/
    2 c" c6 O, O* v  h- M# |% Iwget https://github.com/YOURLS/YOURLS/archive/master.zip! P- v4 B. P+ M# `
    unzip master.zip
    , Z# \* L8 L9 D5 b" G# f8 @mv YOURLS-master YOURLS
    ( Q8 U5 k  w/ x( v2 y0 F# 修改网站目录权限
    4 J6 H: h& s* I3 u$ u8 @. u  B# Ubuntu/Debian系统) ^$ Y0 N3 @1 |6 Z5 O7 }
    chown -R www-data:www-data YOURLS
    % |% k; e% F/ ]$ O7 x# CentOS
    0 z% R/ f7 r* z5 W5 M# V0 _chown -R apache:apache YOURLS
    * B6 R2 A5 g* h/ Y- @4 ccd YOURLS) }# v+ s% ?3 F  }/ m  ~4 U! f* q
    cp user/config-sample.php user/config.php
    - U* L: \! ]7 Q3 U0 X. O% Qcp sample-public-front-page.txt index.php
    " ?+ v) y- z( X2 C$ U1 Y/ M% }" mcp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:, x3 E. i. I6 L) Z  I
    define( 'YOURLS_DB_USER', '填写你的数据库用户名' );. T1 E  E; u9 ^
    define( 'YOURLS_DB_PASS', '填写数据库密码' );$ m3 `6 S2 u$ [) h8 V- o* f
    define( 'YOURLS_DB_NAME', '填写数据库名字' );
    * v5 n, B4 W6 s$ ~& z0 _- t: Y# 这两行基本不用改
    $ u9 c" r+ s: i( K; e' Kdefine( 'YOURLS_DB_HOST', 'localhost' );6 v+ p' z; S% O7 G7 E+ u
    define( 'YOURLS_DB_PREFIX', 'yourls_' );
    3 _4 s) W$ @; w* G, ^# 填写你的域名,不要加www形式/ E% x  ^8 C7 U+ ~# u2 k
    define( 'YOURLS_SITE', 'http://你的域名' );# t: K% E; \$ a- ?- Q1 _
    # 填写时区,国内是8  k6 |. m5 ?& _, H, w3 n
    define( 'YOURLS_HOURS_OFFSET', 8 );
    - C0 y+ _  [+ t# c  s, u. S& m  S# 设置为中文: V! h# M- \' E/ R
    define( 'YOURLS_LANG', 'zh_CN' );
      K8 c' }4 u1 r3 F: g/ k: S/** Allow multiple short URLs for a same long URL0 _- T$ R2 [3 F3 l0 O- r3 s9 n
    ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)* m2 T$ I/ U: d* y' ~
    ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
    + I) ?" f/ d/ i* _# z' e, ldefine( 'YOURLS_UNIQUE_URLS', false );
    & R5 i1 X( }7 s1 X+ ~8 z* h8 H% O  H; g# 设置私有权限
      ]6 u$ m: ]) b/ O: ]# Ldefine( 'YOURLS_PRIVATE', true );
      k  b# {+ t% w5 C* [6 f& X5 g$ S) r! y
    define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );9 m/ s# P; C- o1 d
    # 后台登录用户名和密码,一行设置一个,请务必修改
    : y7 O3 _, M0 p. F$yourls_user_passwords = array(! J" ?+ B7 i; i
            '用户名1' => '密码1',
    4 H9 K4 P' T- V; e3 E        // 'username2' => 'password2',
    5 d' P' ^7 M# l5 G        // You can have one or more 'login'=>'password' lines
    3 \3 I0 `6 I. Z3 Y' C        );+ H; _/ c" W3 p- m/ i
    /** Debug mode to output some internal information
    3 b3 G. p4 Y4 V' r) u8 J7 h ** Default is false for live site. Enable when coding or before submitting a new issue */
    5 o. X+ F. B# ^/ K, a( a, Z* @( \define( 'YOURLS_DEBUG', false );
    ) U- Y' U& b3 y5 ~8 {, j8 [# 网址中允许大些字母填62,否则填36
      B% G5 ]7 |) `3 adefine( 'YOURLS_URL_CONVERT', 62 );
    7 g. P* z3 f3 |0 b% s: w' u  Q# p/*1 V: I) Q7 B; b1 Q7 T
    * 36: generates all lowercase keywords (ie: 13jkm)
    $ g. L4 a# k1 `4 F+ E' i * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
    ) H- y, [& O1 ?+ E7 U * Stick to one setting. It's best not to change after you've started creating links.& X; c# q! F* K1 n; d$ a- h3 J
    */  N; y" ?- g0 i# f
    # 保留的关键字,可自己添加* d+ ?& i7 F' B9 S6 U
    $yourls_reserved_URL = array(
    * O/ D! [. \/ h        'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',$ h, T8 u- P+ d+ h8 x, m  X
    );接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
    , C/ f- V- Y, b. W4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
    / P4 ^; [% X% S7 f$ F- H2 fserver {% G7 R2 O, }( b
        listen   80;
    ; r5 F9 S/ s- ^9 j$ t0 t) ]    server_name 你的域名;
    1 f" \9 d6 p0 Z" A; V( x    charset utf-8;
    % k, k: }. ?5 _7 p+ L    root "/var/www/YOURLS";" Z! `. }' P0 ^- ?* o* }  K
        location / {- y  n. k# |. v
            index  index.php index.html;& U2 U5 z9 @7 H- W; T5 R2 Y/ f
            try_files $uri $uri/ /yourls-loader.php$is_args$args;, e' }3 h2 n4 K+ J3 r) x4 @1 `' @
        }
    " g1 T% w% `7 b1 M/ i6 @+ m$ d    location ~ ^/\.user\.ini {
    : C5 X. }0 z6 t            deny all;5 k+ z" `9 u4 I: k$ ^
        }
    % M( {" J) i% l: d/ p- o( d    location ~ \.php$ {; r! o  f8 Y' W
            try_files $uri =404;4 p! X5 I: ?8 n% u. l( ]& f
            fastcgi_index index.php;+ F2 U) {- Q5 _8 u6 E3 }
            # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
    6 G: M" I: e/ q) `  z        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    * n' p) l0 E* T3 ]4 O        include fastcgi_params;
    8 F' W7 s, v5 J4 P1 u# k, V( Q8 g        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;4 t' J" q; d- u! O2 L: t/ ^/ ^6 z7 P
        }
    + K5 d. v- R( d0 q$ D* V  m5 C8 B    location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {
    " `/ H0 j) p3 u        expires max;
    ! l6 Z4 t$ |8 l3 c        access_log off;6 x, G7 y$ W0 W# O" r8 u
            try_files $uri =404;
    7 I3 _* q. o+ @3 e. y    }
    8 n" ^$ Q9 ]! V- J1 Y3 t9 p}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书7 Y' p. D) I, L1 Y* N( {
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。  s, U. P0 z7 q, w# d8 y- |
    浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
    5 M9 q. {, d1 E8 r, z7 l
    ! `- k# X7 Z- \3 K* [
    ( E& g+ @- Z& ^9 W5 ^YOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。5 Z: Q7 `& Z& V# p
    配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。" I9 x0 x, c* V" d
    首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
    9 V2 y9 \4 [3 {! l5 `/ E; f+ q* u+ O2 M/ [
    ; b2 R# E8 V% G3 U
    YOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
    0 `9 z4 |& |1 d/ ?- ?7 u8 R推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
    3 |& d. A0 q  X5 `YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。
    9 J$ r4 j' Q' J) V" q  }最终网站前端效果图:) i1 k: o% B: H  m. O" D
    8 a) r, {( u" b+ C4 h' V5 H) p

    3 B/ o9 A5 e! X+ _短网址前端效果图后端效果图:7 i% J2 b  _7 g6 f
    / p& `! L8 Z9 k. t( q$ n( H
    6 r% U: j3 Y4 Q4 Z) l" a  }; Y
    短网址后端效果图相对原版颜值高了不少。4 _# E& }4 i3 T6 x7 z% m/ I
    参考返回目录[ol]
  • YOURLS
  • Awesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5)
  • 本帖子中包含更多资源

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

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

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

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

    GMT+8, 2026-9-22 18:44 , Processed in 0.195353 second(s), 22 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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