扫一扫,微信登陆

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

搜索
查看: 248|回复: 0

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

[复制链接]

1万

主题

1万

帖子

5万

积分

论坛元老

Rank: 8Rank: 8

积分
56206
发表于 2022-9-11 21:04:53 | 显示全部楼层 |阅读模式
本文目录
  • 使用YOURLS搭建自己的短网址服务
  • 部署YOURLS
  • 配置YOURLS
  • 参考短网址服务能生成简洁好看的链接,非常适用于有链接分享需求的场景。然而目前国内新浪、百度等大厂短网址服务都要求登录,限制不少,小网站的短网址服务又有不稳定的忧虑,因此自建短网址服务是比较好的选择。9 p- M6 m6 {8 q% ?* R: T  E2 ?
    经过一番调研,我们选择了YOURLS这款短网址程序。YOURLS 是一款使用PHP+MySQL开发的开源短网址程序,可部署在自己的服务器上,文档齐全,有丰富的插件支持,支持数据统计等功能,简洁好用。
    " y6 G# c' T. |7 l  o9 K本文介绍使用YOURLS搭建自己的短网址服务,最终效果见 https://2i.gs。
    ! @8 ~$ E, V- v4 y3 E  f 使用YOURLS搭建自己的短网址服务返回目录准备工作既然是短网址服务,首先得有一个域名,越短的越好。例如本人用的是 2i.gs,这样一个很长的网址可以缩短成 2i.gs/xxx 这种短形式。购买域名可参考 Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购,然后将域名的@记录解析到你的服务器。
    & S* N% P5 a; t! W: d* }; @: Q. {; T, N7 x* y

    5 i5 q( m. G9 f3 ^$ q. |) M3 j1 H) y域名添加@ DNS记录YOURLS 依赖于PHP和Mysql,因此需要先安装PHP和Mysql。CentOS系统安装最新版PHP请参考 使用Remi源安装最新版PHP 7和PHP 8。Debian/Ubuntu系统可使用下面的命令安装PHP 7.4:4 R7 v; k" Q2 _. s0 s
    # Debian/Ubuntu系统安装PHP 7.4
    . @/ Z5 c3 J" G" D; t  c5 W0 n, Iapt install -y lsb-release gnupg20 X' t/ ?7 B$ P
    wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -) G6 f7 I$ F, f
    echo"deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
    ; [; X. F  l; @9 ?) A. W! eapt update
    / b0 e1 Z/ t! I6 x3 O- T3 }apt install -y php7.4-cli php7.4-fpm php7.4-bcmath php7.4-gd php7.4-mbstring \2 A3 i2 i2 N- \" s3 k# `
    php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php7.4-json php7.4-imagick: w" @' \$ a# e$ `# W* I) S
    update-alternatives --set php /usr/bin/php7.4& a, C8 L/ ?; I% Q( o. G& H
    # 启动PHP-FPM9 @* H  [# l8 J7 l; f! I
    systemctl start php7.4-fpm. d( q; Q4 F* i& @5 H, }; P! @: U
    接着安装Mysql(MariaDB):; g- w7 q4 b- c5 n: |% N0 e1 ~/ F
    # Debian/Ubuntu安装Mariadb) D( I8 G, k  l& ?) `9 ]; {
    apt install -y mariadb-server# L& e4 O- N" O; C
    #CentOS安装Mariadb
    / O! \% K3 k  Pyum install -y mariadb-server2 ~* T, P+ t0 o7 g
    systemctl enable mariadb
    ! \3 u- g5 {$ ~2 f5 u#启动Mariadb( t, ~  q1 {/ x' m
    systemctl start mariadb另外对外服务离不开web服务器,因此也需要安装Nginx:" @. g; E/ B* Z% M
    #CentOS系统安装Nginx- p; N+ X3 {3 X: m& r% S
    yum install -y nginx) F5 y% [' M; y8 s" }2 i3 B
    systemctl enable nginx* m- V  N  A% [; Q
    #Debian/Ubuntu安装Nginx
    ) N' J* l# h! a, f8 J9 lapt install -y nginx
    8 V$ w1 J$ F& `$ U- ~' l+ {安装好PHP、MariaDB和Nginx后,接下来安装和部署YOURLS。
    ! p. h# g! }1 l: S. R5 U& K 部署YOURLS返回目录部署YOURLS的步骤如下:
    7 p* _0 K0 |& x* o. D9 @1. 创建YOURLS的数据库用户名和数据库:
    ' w( h# ]3 @* Y2 B+ Y# 进入数据库8 }+ I6 v1 ]7 `# F9 i* h( p
    mysql
    + a1 V; ]4 j, f1 y# 创建用户名,用户名和密码改成你自己的
    . e. j# b3 S5 \# |CREATE USER 用户名@'%' IDENTIFIED BY '密码';
    + v3 X- h6 ^: r0 K# 创建数据库,数据库名字改成你自己的% b# G; t# J% M. P' h' H$ R
    CREATE DATABASE 数据库名字 DEFAULT CHARSET=utf8mb4;
    4 ]$ |% K* V: O' C# 赋予权限1 w" M8 t. w$ ^' `; p; T% X* ?- c/ g
    GRANT ALL PRIVILEGES ON 数据库名字.* to 用户名@'%';
    0 q; n& i& o2 Z# 刷新权限
    1 N! D& }2 _# }9 u! o* LFLUSH PRIVILEGES;2. 下载和安装YOURLS:5 a9 P# F6 a  e9 ]/ S; @
    mkdir -p /var/www
    . r0 |; n2 _, O. \cd /var/www/
    : V. E% t( \1 d" }wget https://github.com/YOURLS/YOURLS/archive/master.zip3 U$ k, i) V% y, m( n6 Z  B: @
    unzip master.zip# Q0 f2 d6 e; d' i
    mv YOURLS-master YOURLS. Q; Z8 t: Y& E: }, w
    # 修改网站目录权限. F7 w4 x7 o& d0 k" \$ m+ C, E3 Y
    # Ubuntu/Debian系统# j1 r! X8 m! U( i0 s2 G
    chown -R www-data:www-data YOURLS7 D* w2 y; h& Z7 }. I4 N0 `1 r
    # CentOS
    * G  J# D! @8 [8 ~8 V. achown -R apache:apache YOURLS5 R8 `3 H! e# ^$ m; R6 {( M
    cd YOURLS8 g- N7 E& L; Z- d
    cp user/config-sample.php user/config.php
    : o. g9 V) A2 r& b* F; J2 lcp sample-public-front-page.txt index.php: C6 I8 D% f. ~6 P/ f5 ?
    cp sample-robots.txt robots.txt3. 配置YOURLS。编辑 /var/www/YOURLS/user/config.php 文件,按照自己的情况进行修改:  [8 l; |3 d; \+ C5 n8 B: b
    define( 'YOURLS_DB_USER', '填写你的数据库用户名' );
    - `# O  j; M) ]& x4 {6 C$ Jdefine( 'YOURLS_DB_PASS', '填写数据库密码' );
    3 l4 Z/ o0 U, ]3 @- {  jdefine( 'YOURLS_DB_NAME', '填写数据库名字' );' g* e# g6 y( Y; V  O8 U8 k0 y: J
    # 这两行基本不用改
    ; L6 @% b, O1 X4 L. v1 ndefine( 'YOURLS_DB_HOST', 'localhost' );
    * z2 w, Q0 {8 [. W* @define( 'YOURLS_DB_PREFIX', 'yourls_' );
    2 R% U8 I7 e1 G8 k( F# 填写你的域名,不要加www形式
    0 A; V, G" G" w8 S/ R' j: ydefine( 'YOURLS_SITE', 'http://你的域名' );
    : h& \. f& B" D' ?# 填写时区,国内是8
    . g1 C0 _# u3 Y  f- edefine( 'YOURLS_HOURS_OFFSET', 8 );
    ( f+ }4 a/ y! S# 设置为中文9 r$ b  F$ T* m6 ]
    define( 'YOURLS_LANG', 'zh_CN' );, N' ~( P! n9 C5 j6 d: s9 _1 d
    /** Allow multiple short URLs for a same long URL
    . z9 L1 ]  i5 B/ H6 i7 K3 f; r ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)) E0 h5 D/ _* ]9 x7 ~! v
    ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */; k6 k% O% S* R
    define( 'YOURLS_UNIQUE_URLS', false );$ z9 {( S9 B" y  o( h6 n
    # 设置私有权限0 B9 C! c% Z6 m, c8 r3 R
    define( 'YOURLS_PRIVATE', true );
    7 c) e1 x$ h/ J% [* I/ Z" v. G$ F
    ) p( [3 H1 g4 f" ?define( 'YOURLS_COOKIEKEY', '从http://yourls.org/cookie获取值' );, _* O! b* q0 ?$ _0 Z6 F/ ]* I
    # 后台登录用户名和密码,一行设置一个,请务必修改
    ) s4 a% u! k/ t+ P+ X$yourls_user_passwords = array(
    : Y1 p; U3 o$ t1 \# L# C( m        '用户名1' => '密码1',) d5 M9 R, Z" s& W% v
            // 'username2' => 'password2',$ @7 X0 R5 i1 U- X. o# J- e9 Q
            // You can have one or more 'login'=>'password' lines
    , V! u( T% U. Z$ e! F; n; S- A5 W        );, W+ r* f% o+ O  O  G9 H
    /** Debug mode to output some internal information( T$ i+ e: S! {! y8 _4 S5 |
    ** Default is false for live site. Enable when coding or before submitting a new issue */
    & P- b9 g: A# K. ndefine( 'YOURLS_DEBUG', false );
    . a6 P1 B: Y2 r5 Z' N. O$ s# 网址中允许大些字母填62,否则填36
    5 B9 f( C5 J, ^- {define( 'YOURLS_URL_CONVERT', 62 );+ m. J8 C7 r4 j( N
    /*6 L, s1 {8 g  v; ^# j
    * 36: generates all lowercase keywords (ie: 13jkm)2 l9 o7 L! c" ]* t
    * 62: generates mixed case keywords (ie: 13jKm or 13JKm)6 @; [0 y$ {& x7 i, L1 J- _' z
    * Stick to one setting. It's best not to change after you've started creating links.( C# `. ]# @( L5 V
    */
    / v( N& {6 I; \# 保留的关键字,可自己添加
    8 y8 {* G/ P- ^; H4 q& C$yourls_reserved_URL = array(
    1 }( y# J/ K0 @! x; w4 j        'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
    ( S# _6 I6 P$ w0 [: });接着编辑 index.php ,将 $page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ; 。
    : I- y# G4 D+ B3 s4. 配置Nginx。在/etc/nginx/conf.d/目录下创建域名配置文件(例如2i.gs.conf),输入如下内容
    ; z; H8 t' G1 c8 |4 ~/ Mserver {% Z! Q  c0 |2 D9 r, s2 M
        listen   80;) v6 C- D1 H6 A! O+ M7 B3 J3 j
        server_name 你的域名;
    ; ~7 S- S  p4 b3 X: A    charset utf-8;
    6 @0 i8 X$ r9 G, R' K4 O/ [2 @    root "/var/www/YOURLS";
    & [( j% S  \$ @    location / {
    - }! @- R# z. B- t( e# s        index  index.php index.html;
    : r7 N- M; s' l8 V. i( Y! T        try_files $uri $uri/ /yourls-loader.php$is_args$args;
    - U- m2 r0 p& Y. \- x+ G6 y    }4 }  i: C& }7 q0 L
        location ~ ^/\.user\.ini {" |1 d( F% e" B7 q6 p' C7 R+ d* j! W  C
                deny all;
    - ?0 @4 \2 A& a    }
    5 Y( i% W$ x) M7 J% k& t1 m% V" J    location ~ \.php$ {
    * q6 O* [4 G) F( e4 o9 K        try_files $uri =404;
    . N8 _4 j7 l3 v        fastcgi_index index.php;
    7 L' o% }) n) ^/ C  d/ }' p* i5 p        # CentOS 8系统请改成 fastcgi_pass php-fpm; CentOS 7系统请改成 fastcgi_pass 127.0.0.1:9000;
    ' r! g3 Y8 Z2 F& t        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    " j8 U" q% m# R% K% s        include fastcgi_params;9 D8 `* K/ ?" q. [
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;7 }3 w! V' b5 a, h+ E7 Z
        }
    1 }# _" ~! O2 S+ a: _    location ~ \.(png|jpe?g|js|css|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar|woff2|ttf)$ {& y+ ?" o( H5 z$ p% o
            expires max;
    & o+ P- y. o9 A        access_log off;8 t2 D* b5 E7 |: g! R4 C
            try_files $uri =404;7 O( d" [( t( G/ j1 l
        }1 f5 u. h# @% W; l0 `# t# t
    }推荐使用HTTPS访问网站,申请证书和配置请参考从Let’s Encrypt获取免费证书 或 从阿里云获取免费SSL证书
    " P/ Z* B0 L: j1 v
    5.  nginx -t 查看有无Nginx配置错误,然后重启Nginx:systemctl restart nginx。如果有防火墙和安全组,记得放行。
    : c7 }3 s# w+ _* g浏览器打开你的域名,配置正确的话应该能看到类似如下截图:
    5 I4 _8 Q, {( V7 V+ \2 e- Q! t* x
    * c# V' d1 |! R" S
    0 ~( l* D& `6 bYOURLS短网址截图这说明短网址服务已经搭建成功,输入一个网址,看看能不能正确生成短网址。
    2 A. l& S" f9 S2 V 配置YOURLS返回目录默认安装的YOURLS界面和功能都比较朴素简洁,可以通过安装/激活插件和主题来修改。  G, J' w9 D5 }
    首先介绍YOURLS的插件管理。在页面上点击”管理界面”,使用配置文件填写的用户名和密码登录。点击左上角的“管理插件”,这里便能管理和激活插件:
    & b$ ~) ?! v8 C+ c) F" `# P" N& V/ y0 b! J/ n/ K

    ; V& Z7 E; u7 [: P/ PYOURLS管理插件将鼠标移到插件右侧的“动作”那一栏,会出现激活/取消激活菜单,点击便可开启/关闭插件。
    ) [: N9 r. U8 L/ M9 S推荐开启的Random SHortURLs插件。更多插件可从 Awesome YOURLS 查找。/ V5 J+ v# w0 R1 i0 `4 I/ |
    YOURLS默认的界面比较简陋,因此推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared和Air 666。本人只用过前两款,最后决定结合两者:前端使用Infinity Squared,后端使用Sleeky。# n$ o0 c6 d# e  f! Y$ F: J$ ]2 j
    最终网站前端效果图:
    - Y9 y# @6 G& v% a* F' h8 E
    1 G; s0 Z3 f& D2 D9 X$ _$ T% Z  [
    短网址前端效果图后端效果图:
    ; t# ?+ @4 v6 J( W! \0 I# p& I5 a

    # l. a* E  {, e; h. T- B短网址后端效果图相对原版颜值高了不少。# A, y% l4 Y6 C- E
    参考返回目录[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号 )
    快速回复 返回顶部 返回列表