在一台 VPS 上部署两个 nginx 站点
本文介绍怎样在 vps 上面增设一个站点。
首先,将新站点的域名指向同一个服务器 ip 地址,在 namecheap 增加两条 A 记录:
- [新增的] docs.jakehao.com
- [原来的] www.jakehao.com
第二步需要登陆 vps 配置 nginx,由于我使用 ubuntu,nginx 的配置文件 nginx 管理在下面两个目录里面:
/etc/nginx/sites-enabled
: 生效的 nginx 配置文件,通常使用 ln -s 创建 symbolic link 指向 /etc/nginx/sites-available/ 下面的文件。/etc/nginx/sites-available
: 这个目录包括被 sites-enabled 指向的文件
我发现由于每个站点的 nginx 配置都跟站点特性有关系,所以我喜欢将配置文件放到站点 git 目录下管理。
第三步因为使用了 let’s encrypt 提供 https 访问,还需要跑一下这个命令启用新站点的 https 访问。
sudo certbot --nginx
最后,重载一下 nginx:
nginx -s reload
另外,每个站点我都会都使用类似下面这样的脚本来部署:
#!/bin/bash
# 站点 ip
SERVER=10.10.10.10
# Make static blog
jekyll build
# Copy everything from html to remote server
rsync -avzr -e "ssh -p [ssh_port]" --rsync-path="sudo rsync" ./_site/ [user_name]@$SERVER:/var/www/html/
# Copy nginx config
rsync -avzr -e "ssh -p [ssh_port]" --rsync-path="sudo rsync" ./nginx.config [user_name]@$SERVER:/etc/nginx/sites-available/blog
Posted 2020-01-31