2016-03-07 54 views
4

我有Django的這些端口上運行我的Ubuntu服務器上的RESTful服務84如何在Ubuntu的Apache2配置爲Django的RESTful服務

當請求被髮送時,它才能通過該端口上運行的Apache2服務器80.

現在讓我說我的服務器IP是「xx.xx.xx.10」,當我打電話與此網址http://xx.xx.xx.10/user其中用戶是休息服務運行在端口84上的Django休息框架。然後請求應該去到我的Django休息服務通過apache2並返回所需的輸出。

我試圖通過在Apache2中使用下面的配置: -

<VirtualHost *:80> 
    WSGIScriptAlias//myproject/myapp/test/wsgi.py 
    <Directory "/myproject/myapp/test/">   
     <Files "wsgi.py"> 
     Require all granted 
     </Files> 
    </Directory> 
    </VirtualHost> 

但這是給內部錯誤說test.settings不會退出。

這是正確的方式來配置在Apache服務器上的不同端口上運行restful服務。

+0

如何以及爲什麼你在端口84部署的服務? Django文檔有指示可以使用[Apache mod wsgi](https://docs.djangoproject.com/en/1.9/howto/deployment/wsgi/modwsgi/)部署Django,您可能會發現它很有用。 – Alasdair

回答

0

你指定了一個python路徑嗎?如果你不這樣做,導入mysite將不起作用。

WSGIPythonPath /path/to/mysite.com 

欲瞭解更多信息,請參閱:Django docs modWSGI

+0

我試過這個,仍然給「內部錯誤說test.settings不存在」 – Vinay

+0

你可以發佈日誌或終端輸出等也發佈任何其他相關的conf – pypypy

+0

你在代理什麼? Gunicorn或manage.py runserver? – pypypy

0

我已經解決了這個發行通過使用下面的配置: -

<VirtualHost *:80> 
     ServerName mydomain 
     ServerAlias *.mydomain 
     ProxyRequests off 
     ProxyPass/http://localhost:84/ 
     ProxyPassReverse/http://localhost:84/ 
    </VirtualHost> 
相關問題