宝塔二级域名多站点
问题描述
- 服务器已经安装 wordpress,默认 IP 解析到了默认域名,如何部署采用hexo制作的 第二个 网站,并系统能通过二级域名访问该hexo网站?

- 安装第二套系统 hexo 部署,到指定目录,并通过二级域名访问
解决思路
宝塔新建站点

服务器设置相关信息
ssh 连接登录远程服务器
更改网站目录权限,可以是其他用户,这里设定为 git 用户
cd /www/wwwroot/
sudo chown -R git:git blog.xx.com
sudo chmod -R 755 blog.xx.com
进入目录,并将当前目录初始化为 git 仓库
cd /www/wwwroot/blog.xx.com
git init --bare
再创建一个文件夹,用来做 Nginx 的根目录,即站点运行根目录,后面会对这个设置
mkdir -p /www/wwwroot/blog.xx.com/blog
chown -R $USER:$USER blog
chmod -R 755 blog
在仓库 blog.xx.com 下创建一个钩子,将静态 HTML 文件传送到服务器的根目录下,即 blog.xx.com/blog下面,钩子代码如下:
sudo vim /www/wwwroot/blog.xx.com/hooks/post-receive
在文件中添加如下shell脚本
git --work-tree=/www/wwwroot/blog.xx.com/blog --git-dir=/www/wwwroot/blog.xx.com checkout -f
保存退出文件后,改变文件权限,让该文件变为可执行文件。
sudo chmod +x /www/wwwroot/blog.xx.com/hooks/post-receive
保存退出,重新启动 Nginx
sudo bt restart nginx
宝塔配置
主要是设置好网站目录,和 运行目录:
ssl 证书续签
申请 SSL 证书
在站点中选择SSL,选择Let's Encrypt,这里建议选择DNS验证,选择文件验证诸多问题失败率高,使用DNS验证支持通配而且申请成功率非常高,配置DNS接口去域名的供应商拿AccessKey与SecretKey配置好后申请接口,可以先检查一下域名中是否有没必要的txt记录有的话删除避免记录冲突。

站点SSL配置
证书部署好后,要在站点配置强制开启HTTPS,这样用户访问就是强制使用https协议访问,注意要开启80与443的端口。

自动续SSL
在计划任务中,添加任务,任务类型选Shell脚本,任务名称就“续签Let’s Encrypt证书”,执行周期选择每天3小时1分钟,执行用户选择root,脚本内容填写
/www/server/panel/pyenv/bin/python3 -u /www/server/panel/class/acme_v2.py --renew=1
选择确定即可,注意前提是需要配置好第一步就是使用DNS验证并且配置好DNS接口。

参考来源:bt
域名解析
二级域名解析到指定端口号
由于是指定端口的二级域名解析,为了美观,需要中转域名 blog01.xx.com 对端口进行隐藏,方法如下:
在域名解析界面,对中转域名进行设置
然后,对需要使用的二级域名进行设置
这样就可以直接访问 ab.XXX.com,会自动跳转到指定的 http://IP:端口 位置了.
参考:csdn
这里需要注意的是,需要对设置的端口在 ali云服务器 安全组,进行放行,同时在 宝塔 安全组进行放行。
hexo自动上传设置
进入本地的 hexo 根目录 :hexo[master*]$ vim _config.yml ,设置 deploy 参数如下:
repo: ssh://git@47.xx.xx.xx:Port/www/wwwroot/blog.xx.com
这样,以后就可以通过 hexo g && hexo u 自动化的更新和上传了。







