1
目前我的团队继承的一个项目对10 +环境中的nginx配置完全混乱,我们想实现一个版本控制策略,但我不知道人们“通常”如何实现这一点。你使整个nginx的conf文件夹一个git回购和不理你不想要什么版本?或者有一个单独的文件夹与配置文件回购和部署文件与脚本?Nginx配置版本控制策略
目前我的团队继承的一个项目对10 +环境中的nginx配置完全混乱,我们想实现一个版本控制策略,但我不知道人们“通常”如何实现这一点。你使整个nginx的conf文件夹一个git回购和不理你不想要什么版本?或者有一个单独的文件夹与配置文件回购和部署文件与脚本?Nginx配置版本控制策略
我们通过独立的Git仓库独享的nginx的配置管理。是的,它包含/etc/nginx/
目录中的所有内容。
但它不直接在服务器上同步,而是使用bash脚本来拉动更改,更新配置并重新加载nginx配置。
脚本示例:
# Pull changes
git pull
# Sync changes excluding .git directory
rsync -qauh ./* "/etc/nginx" --exclude=".git"
# Set proper permissions
chmod -R 644 /etc/nginx
find /etc/nginx -type d -exec chmod 700 {} \;
# If you store SSL certs under `/etc/nginx/ssl`
# Set proper permission for SSL certs
chmod -R 600 /etc/nginx/ssl
chmod -R 400 /etc/nginx/ssl/*
# Reload nginx config
# but only if configtest is passed
nginx -t && service nginx reload
所以基本上你有它在另一个文件夹(混帐回购协议)的工作,文件夹,commitpush,然后脚本会拉的变化,更新配置,并重新加载nginx的配置?对不起,我只是想确保我理解你的解决方案100%,btw谢谢! –
@JuanSebastian吧,你理解错了我。这样就可以正确设置权限并排除'.git'目录 –