通过Hexo部署网站
已配置公钥,本地git连接服务器需要输入密码
服务器公钥配置错误。本地的id_psa为两行,复制到服务器时默认为一行,不需要修改,没有问题。
本地Hexo部署到服务器,提示无法连接远程仓库
建议将部署地址更改为公网IP再次尝试。原因为域名指向的地址为github.io,所以无法访问指定目录。需要使用nginx来定向,nginx未生效就无法部署到服务器。
网站无法访问
确认域名解析地址是否为服务器地址。
404 配置SSL解析
公网访问,建议通过宝塔申请免费SSL证书,宝塔会自动修改配置文件。
ERR_EMPTY_RESPONSE
检查是否开启了SSL验证
启动Nginx时报错:nginx: bind() to 0.0.0.0:443 failed (443: Address already in use)
443接口被占用
lsof -i:443 查看被谁占用
kill -9 pid
403 Forbidden
检查nginx的用户有没有访问网站目录的权限
假设www-data为nginx使用的用户
sudo chown -R www:www /www/hexo
sudo chmod -R 755 /www/hexo
- 该用户可通过ps -eo pid,user,comm | grep nginx命令查询(不是root用户)
- 设置之后,可能会使git用户失去修改权限,建议将git用户与Nginx用户放入同一个用户组。
git提交后网站变为403 Forbidden
git自动修正了网站目录的权限
执行:sudo vim /www/repo/hexo.git/hooks/post-receive
添加如下代码
TARGET_DIR="/www/hexo"
# 修正文件和目录权限
chown -R git:www-data "$TARGET_DIR"
chmod -R 755 "$TARGET_DIR"
然后执行
sudo chmod +x /www/repo/hexo.git/hooks/post-receive
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。