- 寶塔 apache 的目錄是 /www/server/apache/
- 安裝編譯mod_wsgi 需要指定 apache 的 apxs 所在路徑 /www/server/apache/bin/apxs
- https://github.com/GrahamDumpleton/mod_wsgi/releases 下載 mod_wsgi
-
tar xvfz mod_wsgi-X.Y.tar.gz
- ./configure --with-python=/usr/bin/python3.6 --with-apxs=/www/server/apache/bin/apxs
- 如果報缺少 src/server/wsgi_python.h:24:10: fatal error: 錯誤,則安裝 yum install python36-devel
- make
- make install
-
修改apahce 配置 增加 LoadModule wsgi_module modules/mod_wsgi.so
- 重啓 apache
- 最後清理編譯環境 make clean
- 接下來要修改Apache配置文件 httpd.conf ,這裏可以參考Django官方文檔How to use Django with Apache and mod_wsgi。
-
WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py WSGIPythonHome /path/to/venv WSGIPythonPath /path/to/mysite.com <Directory /path/to/mysite.com/mysite> <Files wsgi.py> Require all granted </Files> </Directory>
WSGIScriptAlias右邊第一項是網址url,第二項是項目中wsgi文件存放的位置,這一行表示該url開頭的所有http請求都交給wsgi.py處理,即交給django項目處理。
WSGIPythonHome指定python的安裝位置,需要指向不同的版本的python時可用。如果之前編譯mod_wsgi時指定默認使用的python版本是自己想運行的版本,則不用這一條指令。
WSGIPythonPath確保django項目可以正確導入至python解釋器中。
Directory則是爲了確保Apache有權限訪問wsgi.py文件。