Nginx配置版本控制策略

时间:2017-05-24 13:35:24

标签: linux git nginx version-control config

目前我的团队继承的项目在10多个环境中的nginx配置上完全混乱,我们希望实现版本控制策略但是我不确定人们通常"通常"实现这一点。你让整个nginx conf文件夹成为一个git repo并忽略你不想要的版本?或者在配置文件repo中有一个单独的文件夹,并使用脚本部署文件?

1 个答案:

答案 0 :(得分:9)

我们通过单独的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