Django 部署


話說這個部署挺折騰人的,先開始使用 mod_python ,貌似版本一直有問題,沒成功過,以后再試。

使用 mod_wsgi 成功,記錄如下:

1、下載 mod_wsgi:

http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-3.4.tar.gz

2、解壓安裝:

tar zxvf mod_wsgi-3.4.tar.gz && cd mod_wsgi-3.4 && ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-python=/usr/bin/python && make && make install

./configure 的時候需要指定 apxs,否則要將 apxs 所在目錄加入到 PATH 環境變量中亦可:export PATH=$PATH:/usr/local/apache2/bin/

注意,Python版本好像要求2.7.x ,我用2.6的用問題,可以升級到2.7.

http://my.oschina.net/HankCN/blog/137539

3、如果上面成功,則會提示已生成 mod_wsgi.so 擴展文件,並且提示要你  chmod 755 /usr/local/apache2/modules/mod_wsgi.so,按着做好了。

上面的三步都很簡單,就和安裝 php 一樣。

4、在 httpd.conf 文件中加上:

LoadModule wsgi_module  modules/mod_wsgi.so 

和:

WSGIScriptAlias /sailing /usr/local/apache2/htdocs/sailing/sailing/wsgi.py
<Directory /usr/local/apache2/htdocs/sailing/>
    Order Deny,Allow
    Allow from all
</Directory>

5、在 htdocs 目錄下新建 Django 項目,django-admin.py startproject sailing,然后在項目里再新建應用 django-admin.py startapp app1,寫一個簡單的視圖方法 hello,配置好 urls.py,確定通過Django的 runserver 訪問 127.0.0.1/sailing/hello 無誤。(或者把已有的 Django 項目復制到 htdocs/ 目錄下。)

6、修改項目目錄下的 wsgi.py 文件,Django 已經為我們配置好了,只不過要加上一句:

import sys
sys.path.append('/usr/local/apache2/htdocs/sailing/')

否則請求會報 500 錯誤,apache 的 error 日志里會提示:

ImportError: Could not import settings 'sailing.settings'

7、重啟 apache 服務,在瀏覽器中瀏覽。

8、默認如果修改了 python 文件,需要重啟 apache 才能刷新結果,調試起來非常麻煩。可以設置 httpd.conf 文件中:

MaxRequestsPerChild 1

即可強制每次請求都重新載入所有代碼。(但不要在產品服務器上使用)

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM