目前,我的团队继承的一个项目在跨10+环境的nginx配置上完全混乱,我们希望实现一个版本控制策略,但是我不确定人们是如何“正常”实现这一点的。您使整个nginx文件夹成为git,而忽略了您不想要的版本?或者有一个单独的文件夹与配置文件回购和部署文件与脚本?
发布于 2017-05-24 16:10:39
我们通过单独的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 reloadhttps://stackoverflow.com/questions/44159978
复制相似问题