vps折腾

作者: 小小怪吃吃吃 | 来源:发表于2018-03-21 17:37 被阅读41次

    一直想记录一下vps的一些神奇用途,奈何爱吃爱睡,拖到了大三下学期才开始着手(可能最近胖得有点不像样了才开始减缓吃吃睡睡的行程!)!以下是又穷又懒技术又渣的菜鸟纯粹的记录贴~之前就买的vultr的服务器,用了这么久也懒得换了,比搬瓦工20$每年的那个贵一点,但是用着还行。

    一、ss搭建

    ubuntu系统

    wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev-debian.sh

    chmod +x shadowsocks-libev-debian.sh

    ./shadowsocks-libev-debian.sh 2>&1 | tee shadowsocks-libev-debian.log

    基本操作命令:
    启动:/etc/init.d/shadowsocks start  
    停止:/etc/init.d/shadowsocks stop  
    重启:/etc/init.d/shadowsocks restart  
    查看状态:/etc/init.d/shadowsocks status  
    

    详细参考于:http://blog.csdn.net/u011239468/article/details/77688242

    二、环境搭建

    lnmp一键安装

    wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp

    三、部署hexo博客

    因为之前的博客一直部署在github上,想到手头的 VPS 只拿来搭梯子实在有点浪费,所以决定迁移到 VPS 上,这里走了很多弯路也踩过很多坑,希望能把步骤和思路一步步记下来。
    参考于:
    参考链接1
    参考链接2
    1、先弄清楚架构

    图源于https://segmentfault.com/a/1190000005723321.png

    整个流程就是本地将 *.md 渲染成静态文件,然后Git推送到服务器的repository,服务器再通过 git-hooks 同步网站根目录。之前我都是直接将 Hexo 部署到 Github Pages 上面的,就不需要通过git hook自动部署。

    2、本地计算机(mac os)
    由于之前博客部署在 GitHub 上面,所以本地已经安装配置了 Hexo,这里简单回顾一下,仅做参考,命令并不完全。

    #安装homebrew套件(并不是必需的,只是方便管理安装包)
    #安装git版本管理工具  brew install git
    #安装node.js(hexo是基于node.js的) brew install node
    #配置ssh key并添加到vps上(这里有个问题需要注意,那就是当你在这里输入密码,以后在连接gitHub去push代码的时候都需要输入密码,非常蛋疼,所以在这里最好直接回车过即可,不用输入密码。)
    #安装hexo    npm install -g hero
                 cd 目录  &&  hexo init
    

    3、vps的操作
    关键是vps的操作,这边由于之前git下生成仓库的路径一直给弄错了,折腾了很久!!!

    简单理解,就是在vps上搭建Git服务器,远程仓库换成了自己的服务器。详细可见[廖雪峰git教程](https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000)
    

    1)安装git

    sudo apt-get install git

    2)新建用户

    adducer git
    passed git            #设置密码
    glassed -a git sudo        #为git用户添加sudo权限

    3)上传ssh公钥
    这里我用了两种方法粘贴,提示输入 passphrase,每次与 GitHub 通信都会要求输入 passphrase,以避免某些「失误」。

    第一种 ssh-copy-id -i ~/.ssh/id_rsa.pub git@服务器ip地址
    第二种 在本地电脑上执行cat ~/.ssh/id_rsa.pub | pbcopy然后再粘贴到vps上的~/.ssh/authorized_keys

    4)安装nginx

    sudo apt-get update
    sudo apt-get install git-core nginx

    5)配置git

    su git
    cd ~
    mkdir .ssh && cd .ssh
    touch authorized_keys
    vi authorized_keys//在这个文件中粘贴进刚刚申请的key(在id_rsa.pub文件中)
    cd ~
    mkdir hexo.git && cd hexo.git
    git init --bare

    6)创建网站

    cd /var/www
    mkdir hexo
    chown git:git -R /var/www/hexo

    7)配置git hooks

    su git
    cd /home/git/hexo.git/hooks
    vim post-receive

    输入如下内容后保存退出,

    #!/bin/bash
    GIT_REPO=/home/git/hexo.git #git仓库
    TMP_GIT_CLONE=/tmp/hexo
    PUBLIC_WWW=/var/www/hexo #网站目录
    rm -rf ${TMP_GIT_CLONE}
    git clone $GIT_REPO $TMP_GIT_CLONE
    rm -rf ${PUBLIC_WWW}/*
    cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}
    

    然后赋予执行权限。

    chmod +x post-receive

    8)配置nginx

    vim /etc/nginx/conf.d/hexo.conf
    
    插入如下代码:
    server {
        listen         80 ;
        root /var/www/hexo;//这里可以改成你的网站目录地址,我将网站放在/var/www/hexo
        server_name example.com www.example.com;//这里输入你的域名或IP地址
        access_log  /var/log/nginx/hexo_access.log;
        error_log   /var/log/nginx/hexo_error.log;
        location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
                root /var/www/hexo;
                access_log   off;
                expires      1d;
        }
        location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
            root /var/www/hexo;
            access_log   off;
            expires      10m;
        }
        location / {
            root /var/www/hexo;//这里可以改成你的网站目录地址,我将网站放在/var/www/hexo
            if (-f $request_filename) {
                rewrite ^/(.*)$  /$1 break;
            }
        }
    }
    

    配置完后注意 nginx -t查看一下配置文件是否有错,之前少了个分号一直提示重启失败,就很丧~·~
    重启nginx:

    service nginx restart

    4、在本机配置hexo的_config.yml

    deploy:
      type: git
      repo: git@服务器ip地址:hexo.git
      branch: master
    
    四、其他有趣的操作

    这里留个坑,之前在知乎上看到很多关于vps的有趣的操作,有时间玩一玩,哈哈哈~

    VPS有什么有趣的用途? - 知乎
    https://www.zhihu.com/question/24284566

    相关文章

      网友评论

        本文标题:vps折腾

        本文链接:https://www.haomeiwen.com/subject/kuuuqftx.html