2015-03-31 30 views
2

我在數字海洋液滴上運行gunicorn和nginx。我現在面臨的問題是,我對這些服務的配置文件是在如何在Digital Ocean的源代碼管理中包含nginx和gunicorn配置文件?

/etc/nginx/sites-enabled/django 

/etc/init/gunicorn.conf 

,而我的代碼是在/src/my_project

我的問題,我的源代碼是下源代碼管理。 /etc/中的配置文件不是。這個問題,How do you deal with configuration files in source control?,說你應該保持你的配置文件在源代碼控制,但它不解釋如何配置它們。

如何在源碼控制中將我的nginx和gunicorn配置文件包含在我的django項目的其餘部分中,同時仍然在服務器上正確地將配置文件附加到nginx和gunicorn上?謝謝!

回答

2

您可以將您的nginx的配置文件添加到您的存儲庫

mv /etc/nginx/sites-available/django /src/my_project/nginx/django 
git add /src/my_project/nginx/django 

然後創建一個符號鏈接。

ln -s /src/my_project/nginx/django /etc/nginx/sites-enabled/django 

你可以爲你的gunicorn配置做同樣的事情。

+0

謝謝 - 一個問題。你爲什麼使用'sites-enabled'和'sites-available'?我按照你的建議嘗試了'sites-enabled',但得到了以下錯誤:'ln:未能創建符號鏈接'/ etc/nginx/sites-enabled/django':File exists'。嘗試創建符號鏈接到'sites-available',我得到一個Nginx 502錯誤的網關錯誤。 – YPCrumble 2015-04-01 21:19:18

+0

其實我的主要問題是我得到一個502錯誤的網關錯誤。爲什麼你使用'sites-available'與'sites-enabled'?這應該是「網站啓用」? – YPCrumble 2015-04-01 21:30:54

+0

通常情況下,您將配置文件放在'sites-available'目錄中,然後在'sites-enabled'中爲該文件創建一個符號鏈接。這樣,您可以通過刪除符號鏈接來禁用站點,而不刪除文件。如果你得到'File exists'錯誤,你需要在創建符號鏈接之前刪除文件(確保你有一個副本在其他地方!)。查看[這個問題](http://serverfault.com/questions/83508/purpose-of-debian-sites-available-and-sites-enabled-dirs)以獲得更多關於「網站可用」和「網站使能」的解釋'。 – Alasdair 2015-04-01 23:13:28

相關問題