2015-02-10 107 views
0

我想將我的django開發網站部署到服務器上。但我很難理解wsgi的機制。我的理解如下:當用戶請求一個URL時,wsgi.py將把請求傳送給django。然後django將呈現模板html文件,輸出是一個真正的html文件。但我不知道這個輸出html文件在哪裏。服務器是否會將html文件發送給用戶而不保存在服務器上?django呈現的html文件的位置

我現在沒有配置httpd.conf文件。我使用WSGIScriptAlias指定了wsgi.py文件的位置。而且我還指定了靜態文件文件夾的位置。當我開發網站時,它會在每個應用程序下搜索靜態文件夾。現在我會認爲django會根據settings.py中指定的位置搜索靜態文件? (例如/var/www/mysite.com/static/)。

+0

我搜索了日誌文件。它表示:「路徑的組件上缺少搜索權限」。因爲我在配置文件中使用了apache:www。但是django文件夾在我的ec2用戶帳戶中。所以我換成apache:www作爲ec2-user:ec2-user。但我仍然得到同樣的錯誤。 – ohmygoddess 2015-02-10 05:17:43

回答

1

但是我不知道這個輸出html文件在哪裏。服務器是否會將html文件發送給用戶而不保存在服務器上?

這是正確的,生成的頁面不會被保存,它們可能被緩存,但從未實際「保存」到任何地方。

現在我想django會根據settings.py中指定的位置搜索靜態文件嗎?

靜態文件正在根據how you configure the staticfiles app進行搜索。

+0

謝謝!這是否意味着不需要配置DocumentRoot位置,因爲幾乎所有的html文件都不是靜態的? – ohmygoddess 2015-02-10 01:44:09

+2

默認的服務器寬度DocumentRoot一般很好,不要覆蓋它。絕對不要將DocumentRoot設置爲你項目源代碼的地方,因爲如果你填滿了你的Apache配置,你就有可能下載你的源代碼。 – 2015-02-10 02:10:40