云服务器部署hexo

云服务器部署hexo

主要讲解了如何在远程机器用Nginx上部署本地的搭建博客

之前的博客是用github pages部署的,那时候刚接触这些东西,按照网上的教程按部就班地撸了一个博客。自从工作以后,博客就停了,决定重拾回来,还是觉得要保持一颗持续技术输出的心。

环境

本地环境:macOS 10.14.5 远程环境:Ubuntu 16.04.6 hexo: 3.8.0 node: 8.12.0 nginx: 1.10.3(Ubuntu)

本地

涉及hexo的安装、创建博客、配置文件

hexo安装

参考:hexo官方文档

全局安装hexo

npm install -g hexo-cli

hexo建博客

hexo init <my_blog>
cd <my_blog>
npm install

安装hexo部署模块hexo-deployer-rsync

cd <my_blog>
npm install hexo-deployer-rsync --save

修改配置文件

打开<my_blog>根目录下的配置文件_config.yml

vim _config.yml

修改配置

deploy:
  type: rsync
  host: <host>
  user: <user>
  root: <root>
  port: [port]
  delete: [true|false]
  verbose: [true|false]
  ignore_errors: [true|false]
参数描述默认值
host远程主机地址如:101.xxx.xxx.117
user用户名如:root
root远程主机目录如:/home/www/hexo
port远程主机端口22 (ssh协议默认端口)
delete删除远程机器上的旧文件true
verbose显示调试信息true
ignore_errors忽略错误false

_config.yml中依次填写相应信息

注意点

  • 本地机器能够通过ssh连接远程主机
  • 用户名是连接到远程主机的用户
  • port一般不需要改动

部署到远程机器

<my_blog>根目录下运行

hexo deploy

远程

在远程主机上需要安装nginx, 修改nginx的配置文件,运行nginx

安装nginx

ubuntu安装命令

apt-get install -y nginx

centos安装命令

yum install -y nginx

测试nginx

安装完成之后测试一下nginx是否安装成功 在bash中输入nginx启动nginx服务

curl localhost

出现以下内容,表示nginx服务正常启动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <title>Test Page for the Nginx HTTP Server on Fedora</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
...

或者直接在浏览器中输入远程主机的IP地址,出现Welcome to nginx...等字段也表示nginx服务成功启动

修改nginx配置文件

配置文件的位置一般在/etc/nginx/nginx.conf

vim /etc/nginx/nginx.conf

注意点

  • 在文件中的http中修改server
  • 注释掉默认的配置文件语句
  • server中的root是本地推送到远程机器的目录
  • server_name是域名地址
http {
    ...
    server {
        listen 80;
        listen [::]:80;
        server_name _;
        root /home/www/hexo;
        index index.html;

        location / {
        }
    }
}

修改完配置文件后保存退出,检测一下配置文件是否正确

nginx -t

输出如下内容表示配置文件编写正确,否则再检查一下配置文件(根据打印出来的报错信息去查看)

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重启nginx服务

systemctl restart nginx.service
或者
nginx -s reload

查看博客

在浏览器中输入远程机器的IP地址,如果看到变成了博客页面,大功告成啦!

# linux  hexo  nginx 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×