记一次hexo在阿里云的部署

整个过程就是,hexo生成静态文件,同步到阿里云指定目录下。使用nginx做为服务,指向静态文件

hexo

hexo是node生成的静态blog,markdown为主要写作方式,其环境依赖node。通过npm安装全局cli,使用hexo-cli相关命令初始化blog,新建和管理文章。

step one

1
2
3
4
5
6
7
8
9
10
11
12
13
// request
- npm
- node
// hexo全局安装
$npm install -g hexo-cli
// 初始化
$hexo init [blog-path/your-blog-name]
$cd [your-blog-name]
// 下载package.json下相关依赖
$npm install

step two

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 新建文章
$hexo new [creating-article]
// 使用node启动本地服务,预览
$hexo server
// 默认端口4000,Mac下打开默认浏览器,http://localhost:4000/
$open http://localhost:4000/
// 生成静态页面,即目录下的public文件夹
$hexo generate
// 通过git或ftp上传public文件夹到云服务
ps:[搭建git服务器](https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000)
ps: 借助ftp client(Filezilla)上传,选择sftp协议

step three

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// 以centeros为例
// 连接阿里云, 默认root@[ip]形式
$ssh root@xxx.xxx.xxx.xxx
// 密钥登录或阿里云密码登录
// 通过yum安装nginx,检查nginx是否安装及版本, 启动nginx
$yum nginx
$which nginx
$nginx -v
$nginx start
// 全局查找nginx配置目录
$find / -name conf.d
// 打开目录并新建配置文件
---- begin xxx.conf ----
server {
listen 80;
# 域名,及域名解析
server_name [server-name];
# 上步骤中的hexo静态文件上传到云服务指定的目录
root [public-path];
# 日志
error_log /var/www/html/blog/nginx_error.log;
access_log /var/www/html/blog/nginx_access.log;
index index.html;
}
---- end xxx.conf ----
// 检查nginx配置文件
$nginx -t
// 重启nginx服务
$nginx -s reload
// 打开本地浏览器,输入配置中的server_name