2017-05-24 117 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'目錄 –