一直想记录一下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、先弄清楚架构
整个流程就是本地将 *.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
网友评论