2017-05-24 120 views
1

目前我的团队继承的一个项目对10 +环境中的nginx配置完全混乱,我们想实现一个版本控制策略,但我不知道人们“通常”如何实现这一点。你使整个nginx的conf文件夹一个git回购和不理你不想要什么版本?或者有一个单独的文件夹与配置文件回购和部署文件与脚本?Nginx配置版本控制策略

回答

2

我们通过独立的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 
+0

所以基本上你有它在另一个文件夹(混帐回购协议)的工作,文件夹,commitpush,然后脚本会拉的变化,更新配置,并重新加载nginx的配置?对不起,我只是想确保我理解你的解决方案100%,btw谢谢! –

+0

@JuanSebastian吧,你理解错了我。这样就可以正确设置权限并排除'.git'目录 –