우리는 nginx 구성만을위한 별도의 Git 저장소를 통해 관리합니다. 예, 여기에는 /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
그래서 기본적으로 다른 폴더에 해당 폴더에 (망할 놈의 repo), 일이, commitpush 그 다음 스크립트 변경, 업데이트 구성을 끌어와의 nginx 구성을 다시로드 할 것인가? 죄송합니다. 저는 100 % 해결책을 이해했는지 확인하고 싶습니다. 감사합니다. –
@JuanSebastian 맞아, 너는 나를 올바르게 이해했다. 이 방법으로 권한을 올바르게 설정하고'.git' 디렉토리를 제외시킬 수 있습니다. –