简单介绍下如何在云服务器上部署Hexo项目,在不使用宝塔面板的情况下,使用Nginx进行代理。(目前只测试过使用系统镜像 CentOS 7.6)。
购买服务器
购买服务器,可以选择阿里云、腾讯云等。
连接服务器
第一次初始化实例后,登录密码一般会通过短信发送。
安装需要的依赖:
1
| yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
|
- yum install:这是用于安装软件包的基本命令。
- -y:该选项会自动确认所有询问,无需用户手动干预,这样能使命令自动执行。
- curl-devel:此为 cURL 库的开发文件,它能为程序提供网络传输功能,像 HTTP、FTP 等协议的支持都包含在内。
- expat-devel:这是 Expat XML 解析库的开发文件,可用于开发 XML 处理程序。
- gettext-devel:该开发文件提供国际化和本地化功能,有助于开发多语言支持的应用程序。
- openssl-devel:是 OpenSSL 加密库的开发文件,能为程序提供 SSL/TLS 和加密功能。
- zlib-devel:这是 zlib 压缩库的开发文件,可用于开发数据压缩和解压缩程序。
安装编译工具:
1
| yum install -y gcc perl-ExtUtils-MakeMaker package
|
检查Git是否安装:
安装Git:已经安装过的可以跳过这一步
添加用户并设置密码:
创建博客目录:
给博客目录增加相应读写权限:
1
| chmod -R a+rw /home/blog
|
注意:此命令表示所有用户都具有读写权限,可能会存在安全隐患,因为任何用户都可以修改这些文件。
建立Git仓库:
1 2
| cd /home/git git init --bare blog.git
|
给Git目录增加相应读写权限:
新建钩子文件:
1
| vim /home/git/blog.git/hooks/post-receive
|
在文件中添加:
1
| git --work-tree=/home/blog --git-dir=/home/git/blog.git checkout -f
|
这句命令是将存储库/home/git/blog.git强制检出并将文件放置到指定的工作树目录/home/blog
最终博客生成的静态文件是存储到/home/blog文件夹下的
给钩子文件增加可执行权限:
1
| chmod +x /home/git/blog.git/hooks/post-receive
|
安装Nginx:
启动Nginx:
1
| systemctl start nginx.service
|
查看Nginx配置文件路径:
通过yum方式安装的Nginx,配置文件一般在/etc/nginx/nginx.conf
修改Nginx的配置文件:
1
| vim /etc/nginx/nginx.conf
|
注意:一定要是自己主机上的Nginx的配置文件路径
1 2
| server_name xxx; root /home/blog;
|
重启Nginx:
1
| systemctl restart nginx.service
|
在Windows端博客目录下安装部署插件:
1
| npm install hexo-deployer-git
|
以管理员方式打开终端进行安装。
修改Hexo的配置文件:
1 2 3
| deploy: type: git repository: git用户名@服务器IP地址:/home/git/blog.git
|
删除文件
文件路径示例:C:\Users\YL\.ssh
,中的known_hosts.old
和known_hosts
两个文件。
重新部署Hexo
1 2 3
| hexo cl hexo g hexo deploy
|
参考文档:
Hexo部署到服务器