• 自己拥有一台服务器可以做哪些很酷的事情?

    我虽然是通信工程毕业的,但是也仅仅是学了一点c语言,也从来没有接触过Linux。

    一次偶然的契机浏览到了真正的互联网,在国外的“B站”上面,看到有人在教如何自己搭建可以看国外“B站”的工具,当然还有各种VPS的介绍,遂入坑。

    自己瞎捣鼓,通过GitHub和Google,我还用服务器搭了:

    • 个人博客(从Hexo到Wordpress到Typecho,又回到了Hexo)
    • 个人网址导航(记录一些常用的网站,有人说用浏览器书签就行,但我觉得这样更装逼一点哈哈,关键是可以切换不同的搜索渠道,很有意思)
    • 网盘(这个是用备案的腾讯云搭的,当时花了88元买了一年,蹭了七牛云和又拍云的免费存储,不过应该不续费了,太贵了,续费一个月都不止88.....)
    • 论坛(没啥精力维护了,前段时间xiuno的开发者甚至已经把码云上的项目删掉了......)
    • RSS订阅站(花了30元在苹果商店买了Reeder,还不错。)

    还用苹果CMS搭了影视网站(版权原因,搭建好之后可以自己观看,最好不要大范围宣传,可以想看啥就看啥)、电子书网站(自动更新,自动抓取)。

    总之,如果你喜欢折腾,一台服务器,够你折腾一段时间的。

    上周末,由于工作原因,我搭了一个短网址平台,可以后台查看点击次数。

    在YouTube上看到一个搭建自己短网址的视频教程,用的是开源的polr,但是按照步骤一步步搭建下来,最后一步都会出现:

    
    
    Whoops, looks like something went wrong

    百度、谷歌查了一圈也没找到有效的解决方法。(顺带说一下,查出来很多的文章都是出自同一个作者,国内有的人就是瞎转载,自己根本没有尝试过,一个人错了,转载的人也跟着一起错,完全在浪费搜索者的时间,这个现象在百度、CSDN现尤为严重,谷歌相对好一点)

    折腾了一晚上,换了两台服务器,查看官方文档,尝试了几种方法也没解决问题,心里非常不舒服。

    VPS教程

    考虑到polr也很久没有更新了,自己的能力也不足以解决遇到的bug,而工作原因,确实对点击链接的统计有需求,我开始寻找别的解决方案。

    然后找到了这个——YOURLS

    VPS教程

    官方文档:

    https://yourls.org

    VPS教程
    VPS教程

    简单介绍

    什么是YOURLS?

    YOURLS stands for Your Own URL Shortener. It is a small set of PHP scripts that will allow you to run your own URL shortening service (a la TinyURL or Bitly).

    Running your own URL shortener is fun, geeky and useful: you own your data and don't depend on third-party services. It's also a great way to add branding to your short URLs, instead of using the same public URL shortener everyone uses.

    大概意思就是说YOURLS,这个基于PHP开发的短链接服务,适用于私有,且不依赖第三方公共短链接生成。你只需要有一定的耐心和一个短域名,就可以感受到短链接生成的乐趣。

    特点

    • 免费而且开源
    • 使用具有两面性:私有的(仅自己使用)或者生成公共的(每个人都可以创建短链接,适用于Intranet)
    • 顺序排列(从1到n)或自定义URL关键字
    • 十分方便的类书签模式记录,可轻松缩短和共享链接
    • 出色的统计信息:历史点击报告,引荐来源跟踪,访问者地理位置
    • 整洁的Ajaxed界面
    • 出色的插件架构,可轻松实现新功能
    • 支持开发人员API
    • 全面的jsonp支持
    • 安装十分友好
    • 示例文件可创建您自己的公共界面等

    跟着官方文档和Pluto Tz提供的文章,结合自己的生产环境,我终于成功搭建好了自己的短链接服务。

    展示链接

    下面是一步一步的安装记录。

    安装环境

    • 系统Centos7
    • 宝塔面板(LNMP)
      • Nginx 1.16.1
      • MySQL 5.5.62
      • PHP 7.0

    新建站点

    首先,打开宝塔面板,我们来添加一个已经解析好的网站。

    安装数据库,php。

    VPS教程

    然后给域名申请一个SSL证书:

    VPS教程

    开启强制https:

    VPS教程

    设置伪静态:

    
    
      location / {
        try_files $uri $uri/ /yourls-loader.php$is_args$args;
      }
    VPS教程

    下载源码

    到github上下载最新版本:

    github.com/YOURLS/YOURL

    目前最新的是1.7.9

    VPS教程

    选择下载(国内速度比较慢,不过好在文件不大,只有2.7M)

    VPS教程

    当然如果我们的服务器不在大陆的话,还可以用服务器来下载,速度会快很多。

    方法如下:

    打开网站根目录:

    VPS教程
    VPS教程
    VPS教程

    下载好了之后,直接点解压:

    VPS教程

    打开

    YOURLS-1.7.9

    文件夹,全选里面的内容,粘贴到网站根目录:

    VPS教程
    VPS教程

    接下来打开目录

    /user/

    ,把里面的

    config-sample.php

    改成

    config.php

    VPS教程

    然后我们来编辑里面的内容:

    VPS教程

    打开之后是这样的:

    
    
    <?php
    /* This is a sample config file.
     * Edit this file with your own settings and save it as "config.php"
     *
     * IMPORTANT: edit and save this file as plain ASCII text, using a text editor, for instance TextEdit on Mac OS or
     * Notepad on Windows. Make sure there is no character before the opening <?php at the beginning of this file.
     */

    /*
     ** MySQL settings - You can get this info from your web host
     */

    /** MySQL database username */
    define( 'YOURLS_DB_USER', 'your db user name' );

    /** MySQL database password */
    define( 'YOURLS_DB_PASS', 'your db password' );

    /** The name of the database for YOURLS */
    define( 'YOURLS_DB_NAME', 'yourls' );

    /** MySQL hostname.
     ** If using a non standard port, specify it like 'hostname:port', eg. 'localhost:9999' or '127.0.0.1:666' */
    define( 'YOURLS_DB_HOST', 'localhost' );

    /** MySQL tables prefix */
    define( 'YOURLS_DB_PREFIX', 'yourls_' );

    /*
     ** Site options
     */

    /** YOURLS installation URL -- all lowercase, no trailing slash at the end.
     ** If you define it to "http://sho.rt", don't use "http://www.sho.rt" in your browser (and vice-versa) */
    define( 'YOURLS_SITE', 'http://your-own-domain-here.com' );

    /** Server timezone GMT offset */
    define( 'YOURLS_HOURS_OFFSET', 0 );

    /** YOURLS language
     ** Change this setting to use a translation file for your language, instead of the default English.
     ** That translation file (a .mo file) must be installed in the user/language directory.
     ** See http://yourls.org/translations for more information */
    define( 'YOURLS_LANG', '' );

    /** Allow multiple short URLs for a same long URL
     ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
     ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
    define( 'YOURLS_UNIQUE_URLS', true );

    /** Private means the Admin area will be protected with login/pass as defined below.
     ** Set to false for public usage (eg on a restricted intranet or for test setups)
     ** Read http://yourls.org/privatepublic for more details if you're unsure */
    define( 'YOURLS_PRIVATE', true );

    /** A random secret hash used to encrypt cookies. You don't have to remember it, make it long and complicated. Hint: copy from http://yourls.org/cookie **/
    define( 'YOURLS_COOKIEKEY', 'modify this text with something random' );

    /** Username(s) and password(s) allowed to access the site. Passwords either in plain text or as encrypted hashes
     ** YOURLS will auto encrypt plain text passwords in this file
     ** Read http://yourls.org/userpassword for more information */
    $yourls_user_passwords = array(
     'username' => 'password',
     // 'username2' => 'password2',
     // You can have one or more 'login'=>'password' lines
     );

    /** Debug mode to output some internal information
     ** Default is false for live site. Enable when coding or before submitting a new issue */
    define( 'YOURLS_DEBUG', false );
     
    /*
     ** URL Shortening settings
     */

    /** URL shortening method: 36 or 62 */
    define( 'YOURLS_URL_CONVERT', 36 );
    /*
     * 36: generates all lowercase keywords (ie: 13jkm)
     * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
     * Stick to one setting. It's best not to change after you've started creating links.
     */

    /**
    * Reserved keywords (so that generated URLs won't match them)
    * Define here negative, unwanted or potentially misleading keywords.
    */
    $yourls_reserved_URL = array(
     'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
    );

    /*
     ** Personal settings would go after here.
     */

    下面一条一条来说明:

    
    
    define( 'YOURLS_DB_USER', 'your db user name' );  # 数据库用户名
    define( 'YOURLS_DB_PASS', 'your db password' );   # 数据库密码
    define( 'YOURLS_DB_NAME', 'yourls' );   # 数据库名称
    define( 'YOURLS_DB_HOST', 'localhost' );   # 不用改

    define( 'YOURLS_DB_PREFIX', 'yourls_' ); # 不用改


    define( 'YOURLS_SITE', 'http://your-own-domain-here.com' ); # 你自己的域名 越短越好,比如我的loll.cc(再短的申请不到了。。。)短地址基于这个生成。
    define( 'YOURLS_HOURS_OFFSET', 0 );   # 时区偏移 改成 8
    define( 'YOURLS_LANG', '' );  # 语言设置,默认是英文,后面我们改成中文版本,填'zh_CN'
    define( 'YOURLS_UNIQUE_URLS', true );   # 不用改,短地址是否唯一
    define( 'YOURLS_PRIVATE', true );        # 不用改,是否私有,如果私有的,则进行api调用生成短地址时需要传递用户名和密码
    define( 'YOURLS_COOKIEKEY', 'modify this text with something random' );    # 点击http://yourls.org/cookie 复制里面的密钥,这个不用记住的。
    'username' => 'password',  # 用户名=>密码  可填多个  登录成功后这里的明文密码会被加密,这里默认是没有的,我们为了安全加上一个,比如用户名是'admin',密码是'123456'
    define( 'YOURLS_DEBUG', false );  # 不用改,是否开启调试  
    define( 'YOURLS_URL_CONVERT', 36 );     # 自己设置使用36进制 还是62进制  这个最好一开始设好不要修改,避免地址冲突,建议62进制
    $yourls_reserved_URL = array(                                              
     'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
    );  # 排除这些敏感词汇,这些地址是不会生成的

    首先是数据库的相关信息,由于我们创建网站的时候已经创建好了数据库,所以,可以在这边找到数据库的情况:

    VPS教程

    'YOURLS_COOKIEKEY'的信息:

    VPS教程

    填完之后,保存。

    VPS教程

    下面我们来安装语言包(如果没改成'zh_CN'的话,自己想要用英文,这一步可以跳过)

    语音包地址:

    github.com/ZvonimirSun/

    VPS教程

    作者已经停止更新了貌似,不过还可以用,有能力的同学也可以帮忙翻译

    VPS教程

    语音包下载方法同上面讲过的,两种方法,自行选择。

    我这里还是用服务器下载:

    VPS教程
    VPS教程

    同样,解压,然后把

    /user/languages/YOURLS-zh_CN-1.7.3

    的文件剪切出来:

    VPS教程
    VPS教程
    VPS教程
    VPS教程

    到这里应该基本上已经完成了,访问一下

    浏览器 输入 https://域名/admin。

    VPS教程

    报错了!!

    观察网站,可能是域名路径的问题,我之前在

    define( 'YOURLS_SITE', 'http://your-own-domain-here.com' );

    没有加

    https://

    ,修改一下再看看:

    VPS教程

    ok!

    VPS教程

    直接点击安装!

    VPS教程

    由于我们之前已经配置好的数据库等文件,所以这里直接显示完成了。

    点击进入管理员页面,

    VPS教程

    输入账号密码就可以访问啦!

    这边我提供一个测试账号给大家测试一下,账号

    admin

    ,密码

    loll.cc

    ,后续会关掉,仅仅供测试用噢。

    VPS教程

    添加一个网址:

    VPS教程

    压缩网址。

    之后可以通过在短网址之后加上一个

    +

    号来查看数据情况。

    VPS教程

    可以愉快地玩起来了!

    补充

    这里是来自PlutoTz博客的补充内容。

    你可能遇到一些问题:

    1、如果安装报错,或者不跳转,那有可能是你的php 或者 mysql 版本过低

    2、短链接后面从1开始,很不爽,可以推荐用时间戳来生成

    只需要修改 includes/functions.php 272行左右

    $id = yourls_get_next_decimal();

    改为

    $id = time();

    这样的话,后面链接会变长,而且不知道是bug还是什么原因,我想改回来改不回来,有需要的同学可以尝试一下。

    YOURLS还有很多插件,大家有兴趣可以再研究研究。

    你可以使用官方自带的插件库:

    github.com/YOURLS/aweso

    完结撒花。

    感谢PlutoTz写的非常详细的文档、感谢YOURLS提供了这么棒的项目,当然还有后面的众多的开发人员。

    开源,让世界更美好。

    然后,最近我开始在研究上《鸟哥私房菜》了......

  • + #中秋国庆# tmhhost:8折优惠,美国cn2 gia+200G高防、香港NTT(折上折),香港CN2(独立服务器)+50G防御
  • + racknerd:国庆VPS优惠,$16.99/年,1.5G内存/1核/25gSSD/3T流量/圣何塞+洛杉矶等6机房可选
  • + 亚马逊卖家有用vps的没,安全吗?
  • + 一个公司网站的制作流程是怎样的?
  • + 有了我们小组的亚马逊账号,我异地登陆他们会关联死吗?
  • + Zen-Cart和Magento建站系统哪个好?
  • + 恒创科技:云服务器和传统服务器有何不同
  • + 一个公司网站的制作流程是怎样的?角点科技告诉你!
  • + #中秋国庆# tmhhost:8折优惠,美国cn2 gia+200G高防、香港NTT(折上折),香港CN2(独立服务器)+50G防御
  • + racknerd:国庆VPS优惠,$16.99/年,1.5G内存/1核/25gSSD/3T流量/圣何塞+洛杉矶等6机房可选
  • + #中秋国庆# tmhhost:8折优惠,美国cn2 gia+200G高防、香港NTT(折上折),香港CN2(独立服务器)+50G防御
  • + racknerd:国庆VPS优惠,$16.99/年,1.5G内存/1核/25gSSD/3T流量/圣何塞+洛杉矶等6机房可选

评论

你必须先登录