网站公告 | 本论坛只支持微信登录!暂时不支持手动注册会员!微信登录可以获取本站所有资源!

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

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

5万

积分

0

好友

1万

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

    # D' F* d: M1 i$ Q7 J
    5 R. M6 ~+ W9 |' G* j& ]4 @$ t域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:
    / N4 x# P% V' S: p) r# Debian/Ubuntu系统安装PHP 7.4/ k5 O6 e) H. w0 g
    apt install -y lsb-release gnupg2  [( ]' P, }8 c: C+ G
    wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
    . b1 L3 @, `' T6 q. ~echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list1 s; d; e0 K; G4 F! J  Z
    apt update
    9 w/ [$ \3 e9 ^& o- _6 dapt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \: u) f- ]$ c( i4 y3 j* Y
    php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick
    9 l9 g2 E/ B% Z5 \# Y, Vupdate-alternatives --set php /usr/bin/php7.40 s+ e! P4 ^, V; x8 D
    # 启动PHP-FPM% Z; g5 B" D0 M* m8 _& c; Z
    systemctl start php7.4-fpm
    + S2 T/ Q5 r, j! I  f接着安装Mysql(MariaDB):
    8 K% y0 L& D( l; h" Z, F9 y" u# Debian/Ubuntu安装Mariadb
    5 c3 x! S4 T7 r8 S- ?! Fapt install -y mariadb-server
    7 x+ \* C+ P8 _+ p6 v* ^' U) j#CentOS安装Mariadb8 |& j  E- o5 D3 b: ^* F
    yum install -y mariadb-server8 C& z4 U/ N; r3 q9 v) ?2 D( @3 S
    systemctl enable mariadb) ]' c+ A0 x6 }6 ~
    #启动Mariadb, F+ s8 [. w- _
    systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:
    / W4 W& |- ?1 j; I5 R#CentOS系统安装Nginx' A0 {1 g1 T( s6 R
    yum install -y nginx
    1 R( Z5 ^$ p! usystemctl enable nginx& H, Q0 _) k4 s. ~
    #Debian/Ubuntu安装Nginx
    ( i: j( Y* F& ?! _* ]: zapt install -y nginx
    * W6 Z1 C0 e" }& @+ X: U安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。6 g# t- K! X8 D# T6 Y
    部署YOURLS返回目录部署YOURLS的步骤如下:; H& U9 l( d0 B* |- C. _" z( ^$ D
    1. 创建YOURLS的数据库用户名和数据库:4 n3 P6 p5 Z9 u; b( k
    # 进入数据库' c! L, ]7 D6 b  H4 z" Z
    mysql% u  |  g) h7 L- z& c
    # 创建用户名,用户名和密码改成你自己的! M/ D- R7 |1 S8 L  S' S3 Q0 A
    CREATE USER 用户名@'%' IDENTIFIED BY '密码';
    2 |! y) e; ^  Q8 Y8 c, X# 创建数据库,数据库名字改成你自己的& E+ c$ j- X6 B. ]' A& S0 w5 S
    CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
    ) O0 {. P8 ~! o. `/ M7 |! u/ o# 赋予权限: R! S5 w& M+ f- s% d2 y  B
    GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
    - U# P! u- Y& w: E' k$ C* ]# 刷新权限) r  B0 d' M' G! D0 s/ Q; O
    FLUSH PRIVILEGES;2. 下载和安装YOURLS:, {+ R/ i: |8 a+ r  x# n
    mkdir -p /var/www
    & P" O/ u0 ^4 F  \4 ^+ H& ~cd /var/www/
    * Q- j) }; d$ |9 ?8 ]wget https://github.com/YOURLS/YOURLS/archive/master.zip
    ) W. t- u& N0 w) p- l+ k( Iunzip master.zip
    # a1 h. x1 U( hmv YOURLS-master YOURLS
    * k3 l# H0 m/ ?# Y" W# 修改网站目录权限
    0 J2 g, G$ |' }- t5 q: h# Ubuntu/Debian系统
    * P. P6 F* B- A' N  Pchown -R www-data:www-data YOURLS
    1 @0 [( p% f) t4 A& f7 q# CentOS& n1 z% q  A8 J9 f" ~" @- T; |  O% e
    chown -R apache:apache YOURLS* v; {7 L8 w3 `+ S& ]; ]# g! g
    cd YOURLS: J; d) m, Z0 t( O7 C! d0 ?
    cp user/config-sample.php user/config.php9 z7 ]2 i. }. `/ N$ d3 p4 Q1 x
    cp sample-public-front-page.txt index.php# l- ^- T1 D1 h& K- C; x9 `; w# J
    cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:
    - B  O9 V% {1 S& @define( 'YOURLS_DB_USER', '填写你的数据库用户名' );1 S) L! W3 e: k: e7 `
    define( 'YOURLS_DB_PASS', '填写数据库密码' );% D) n4 g1 k; Z3 D8 z
    define( 'YOURLS_DB_NAME', '填写数据库名字' );2 I$ l0 r9 z7 l4 k# U. Q3 m! O
    # 这两行基本不用改
    ) `' T/ m' c' Rdefine( 'YOURLS_DB_HOST', 'localhost' );0 R5 V0 k& u8 {8 h: M( S4 Q
    define( 'YOURLS_DB_PREFIX', 'yourls_' );8 y: A. H8 R# F5 R1 {
    # 填写你的域名,不要加www形式
    $ Q7 L8 _( @+ Xdefine( 'YOURLS_SITE', 'http://你的域名' );' J: {/ I: ^- v! s
    # 填写时区,国内是8( H- w0 Q4 L; s5 A/ A4 x1 M( V! \
    define( 'YOURLS_HOURS_OFFSET', 8 );
    " h* z% t6 R9 g5 T# 设置为中文
    # D4 v% k, G, Mdefine( 'YOURLS_LANG', 'zh_CN' );
    ; A! k9 k! u& {' [8 G/** Allow multiple short URLs for a same long URL
    2 v5 @* s5 l, B9 s ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)& W% a: e  {, t1 y9 E0 U0 k
    ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */# j- S: ^6 O" t2 y+ a8 [
    define( 'YOURLS_UNIQUE_URLS', false );
    & R. U7 }4 l- }' I  c' N# 设置私有权限
    3 J* C+ j9 G$ O9 Q" X; _! y2 adefine( 'YOURLS_PRIVATE', true );
    . g1 H! }3 P3 v2 v
    - ^" f1 J1 G7 n$ ?define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );
    * i0 W- N/ M3 z4 u# 后台登录用户名和密码,一行设置一个,请务必修改- c5 J; @4 o# R* P6 p
    $yourls_user_passwords = array(
    0 P2 W( _$ ?! A9 c* g  ^        '用户名1' => '密码1',
    & P5 |+ Z* H6 L/ z: Y        // 'username2' => 'password2',
    * J+ {$ y, r/ ^- R& N        // You can have one or more 'login'=>'password' lines# g+ i: ]5 U3 \/ I( D% W( Q$ K. A
            );
    " L+ Z( m9 e5 s! W. P. |/** Debug mode to output some internal information* m2 @! T- s9 U+ N$ T9 S* W
    ** Default is false for live site. Enable when coding or before submitting a new issue */
    4 @4 {) S$ |% B2 edefine( 'YOURLS_DEBUG', false );0 x( V; {- R6 y6 \/ L9 O$ Q5 H; @
    # 网址中允许大些字母填62,否则填36
    5 r" H: X  V- [! H4 q, Vdefine( 'YOURLS_URL_CONVERT', 62 );
    5 C. {( y+ w2 y& k/*3 J- H6 j6 p0 W
    * 36: generates all lowercase keywords (ie: 13jkm)
    . X" i/ ?! Z4 G& [( J" u+ ^3 a6 N * 62: generates mixed case keywords (ie: 13jKm or 13JKm)) M& S2 r2 \' m+ C5 F( [
    * Stick to one setting. It's best not to change after you've started creating links.6 q! U% @6 f7 l" v
    */
    # T; B* u- Z( Y+ K- \8 D& O1 V# 保留的关键字,可自己添加/ T  t3 I3 n2 g" w0 K
    $yourls_reserved_URL = array(
    + R( T4 y' t  P9 O% L( `        'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',  N( J+ g- g7 k3 D( G/ C
    );接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。; F. X: D6 \6 b9 X9 W& l# i
    4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容9 Y  I1 ~1 C' c: b$ R4 X0 g
    server {
    ) n4 q* N2 L) N    listen   80;
    ( \) L, q( m! ]( n! e2 Y    server_name 你的域名;9 E* T  I0 a/ m9 Y
        charset utf-8;+ F8 f' f& }! X  o* B
        root "/var/www/YOURLS";2 Z7 l1 q/ E# l; Q% ^
        location / {
      O, c7 |7 b- K) x9 n* C        index  index.php index.html;0 ?* s7 t( W. t0 V! L
            try_files $uri $uri/ /yourls-loader.php$is_args$args;
    : s- B+ w6 x: k* q    }
    0 ~0 ~" |; h, f/ e0 a( a    location ~ ^/\.user\.ini {/ Z+ |  X" r" G; _
                deny all;, T3 o% {! w5 h' |6 q
        }
    # K! X: {: Q. [% L, v    location ~ \.php$ {) ~/ g. V" H# w, n3 b
            try_files $uri =404;
    3 Q, M9 t1 b4 S$ c2 s4 C        fastcgi_index index.php;
    9 p) v/ i! k3 r        # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;+ x) l6 [6 Z8 R' T; z
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    : C% H! P6 e  f* E0 F) `" a" U        include fastcgi_params;& U, S9 M; E; ?
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    2 l. y) v. C' n+ q  f* O7 A    }
    2 _5 C' c1 C# j. c! v% e, z- x& P3 O    location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {. l5 p8 H' q8 T8 u" S# f; O- j6 v
            expires max;
    6 {3 B+ l9 d3 w$ P+ G5 x' e; q. z        access_log off;
    3 Y( R( }' x7 k" H7 C# O        try_files $uri =404;) k& g1 V3 A8 j( w) v
        }
    3 ~" d% h' M' {; ?; _}推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书! V* u2 ?: e" s; b* F0 a- E
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。  r) v9 u% l' p3 f/ I- E$ b/ u
    浏览器打开你的域名,配置正确的话应该能看到类似如下截图:% q7 m& Q8 i' A* \$ f4 i

    / \. f- O3 J% K* p2 r
    " y( c$ }! v, w. bYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。8 R1 ?+ D5 g3 j5 Z8 Z6 y+ F
    配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。, n: ]9 Y: N& ~: U
    首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
    - x7 G3 ?: |" P/ k! D! b& T$ ~. a; J5 Z6 s7 g

    % _4 {7 E5 G- @0 nYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。$ n- E5 k  c' O8 k) Z1 f9 k
    推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。
    % r; D2 ]7 |+ m; ?/ eYOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。  I7 n/ c" L. w
    最终网站前端效果图:
    0 `1 t9 k- l. x8 z
    & F/ y+ N5 g% [
    . P; E$ _& T' Z0 q6 U- T: T; j0 Q% N短网址前端效果图后端效果图:
    - b; g7 j: L- d6 X, O. h/ y2 H) x, f" c
      ^& r2 p% E* }1 q2 t' b7 z
    短网址后端效果图相对原版颜值高了不少。
    ( I5 D) q/ @! O- g- y/ U& D, ~ 参考返回目录[ol]
  • YOURLS
  • Awesome YOURLS[/ol]AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(5)
  • 本帖子中包含更多资源

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

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

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

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

    GMT+8, 2026-8-3 06:27 , Processed in 0.116714 second(s), 28 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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