锦方的个人网页 · 如果有一天你突然想起了我


install hexo

目录

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