目录
VPS 上安装Nginx服务
添加 CenOS 7的epel软件包
$ yum install epel-release
安装 Nginx
$ yum install nginx
启动 Nginx
$ systemctl start nginx.service
添加HTTP和HTTPS端口到防火墙允许列表。
$ sudo firewall-cmd --permanent --zone=public --add-service=http
$ sudo firewall-cmd --permanent --zone=public --add-service=https
$ sudo firewall-cmd --reload
$ sudo systemctl restart firewalld.service
创建新的网站目录
Nginx 默认把网页文件存在/var/www/html目录。为了方便期间,我们在/var/www/目录下为每个站点创建一个文件夹。
$ sudo mkdir -p /var/www/blog/html
$ sudo chown -R $USER:$USER /var/www/blog/html
$ sudo chmod -R 755 /var/www
虚拟主机配置文件
替换虚拟主机配置文件 /etc/nginx/nginx.conf
server {
listen 80;
listen [::]:80;
root /var/www/blog/html;
index index.html index.htm index.nginx-debian.html;
server_name example.com www.example.com;
location / {
try_files $uri $uri/ =404;
}
}
重启Nginx服务器,使服务器设定生效
$ sudo systemctl restart nginx
本地安装 Hexo
$ npm install hexo-cli -g
在blog目录下初始化hexo博客,也可以是任意你想要的名字
$ hexo init blog
进入博客根目录,并且安装相关插件依赖等
$ cd blog
$ npm install
安装完成后需要用一下命令
$ hexo g # 渲染 Source 目录下文件问静态页面
$ hexo s # 本地跑一个 server 来看博客效果。
使用rsync将Hexo部署到VPS上
在Hexo目录下安装rsync
$ npm install hexo-deployer-rsync --save
根据Hexo rsync部署文档在Hexo中的_config.yml中添加Deploy的配置,以下是我在自己项目中的配置代码
deploy:
type: rsync
host: 你 VPS 的 IP 地址或者域名
user: root
root: 你想将 Hexo 生成的静态文件存放在 VPS 中的目录 例如: /var/www/blog/html
port: 你 VPS 的 ssh 端口号
delete: true
verbose: true
ignore_errors: false
必须先在VPS上创建好了想要存放Hexo静态文件的目录,rsync不能创建不存在的目录
VPS上下载rsync服务
$ yum -y install rsync