本文實例講述了Apache,wsgi,django 程序部署配置方法。分享給大家供大家參考,具體如下:
前面寫過一篇文章,ngixn,uwsgi,django,python 環境配置,有興趣的朋友可以參考 nginx,django部署
后來有人在QQ上問我,用Apache 好部署嗎?我當時只在windows下用 APACHE2.3,django1.4,wsgi 部署過,還沒有在 linux 下部署。前幾天有時間,我在 centos 上測試部署了一下。也不難。唯一的差別是,在windows 下有已經編譯好的 wsgi.so 文件,放到 apache 的 modules下,然后在 httpd.conf 中增加
LoadModule wsgi_module modules/mod_wsgi.so
但是在 linux 下,wsgi的安裝,都要在源碼編譯下安裝,而且還有幾點要注意的。下面就詳細介紹我部署的過程。
安裝python 2.7 或者你需要的版本
這個就簡單帶過了,下載安裝包之后,windows 可以直接 運行安裝包,linux 下 最好編譯安裝吧。這一步可以參考我上面提到的文章,我已經說得比較清楚。 但我這個centos 環境,是別人已經裝好了的,而且比較怪異,安裝在:/usr/local/activepython27 ,一般的python 安裝在:/usr/bin/python 。其實原因簡單,因為centos 自帶的python 是 2.4 的版本較低,所以重新裝了一個新版本的。
安裝wsgi
首先要在google 代碼托管處下載.https://code.google.com/p/modwsgi ,如果是windows 的,可以直接下載編譯好的文件。linux 的兄弟們,下載源碼編譯:
wget http://modwsgi.googlecode.com/files/mod_wsgi-3.4.tar.gztar zxvf mod_wsgi-3.4.tar.gzcd mod_wsgi-3.4./configure
發現什么了,報錯了
./configurechecking for apxs2... nochecking for apxs... nochecking Apache version... ./configure: line 1695: apxs: command not found./configure: line 1695: apxs: command not found./configure: line 1696: /: is a directory
報錯的原因,也很清楚。沒有 apxs.下面安裝它
yum install httpd-devel
如果是 ubuntu 可能命令為 sudo apt-get install apache2-dev
或 sudo apt-get install apache2-threaded-dev
,具體的命令可以查一下.
再次編譯
[root@29 mod_wsgi-3.4]# ./configure (這里有可能要加上python路徑 --with-python=/usr/local/activepython27)checking for apxs2... nochecking for apxs... /usr/sbin/apxschecking Apache version... 2.2.3checking for python... /usr/local/activepython27/bin/pythonconfigure: creating ./config.statusconfig.status: creating Makefile[root@29 mod_wsgi-3.4]#makemake install
得到如下編譯結果:
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 755 /usr/lib/httpd/modules/mod_wsgi.so
[root@29 mod_wsgi-3.4]#
配置 apache2 配置文件httpd.conf .
LoadModule wsgi_module modules/mod_wsgi.so
然后啟動 apache
service httpd start
發現什么鳥,這是只布谷鳥,亂叫,報錯了
Could not find platform independent libraries <prefix>
新聞熱點
疑難解答