使用 apache2.4 + mod_wsgi 部署django項目
一、軟體安裝
1.安裝httpd(apache2.4)
yum install httpd
yum install httpd-devel
# 運作測試,需保證端口不被占用
systemctl start httpd
2.編譯安裝mod_wsgi (version 4.6.4)
參考連接配接:https://modwsgi.readthedocs.io/en/develop/user-guides/quick-installation-guide.html
2.1 下載下傳mod_wsgi源碼并解壓
wget https://github.com/GrahamDumpleton/mod_wsgi/archive/..tar.gz
tar xvfz ..tar.gz
2.2 配置源代碼并安裝
cd mod_wsgi-./
./configure --with-python=/usr/bin/python3.
make
make install
3.将子產品加載到Apache
vim /etc/httpd/conf/httpd.conf
#追加一行
LoadModule wsgi_module /usr/lib64/httpd/modules/mod_wsgi.so
4.重新開機Apache服務
systemctl restart httpd
# 或者 apachectl restart
5.清理編譯後的源代碼(Optional)
make clean
二、編寫Apache配置檔案
參考連結:https://docs.djangoproject.com/zh-hans/2.1/howto/deployment/wsgi/modwsgi/#daemon-mode
cd /etc/httpd/conf.d/
vim mysite.conf
# 如下配置
WSGIScriptAlias / /var/www/mysite.com/mysite/wsgi.py
#WSGIPythonHome /var/www/venv
#WSGIPythonPath /var/www/mysite
WSGIDaemonProcess mysite.com processes= threads= python-home=/var/www/venv python-path=/var/www/mysite.com
WSGIProcessGroup mysite.com
<Directory /var/www/mysite.com/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
Alias /robots.txt /var/www/mysite.com/static/robots.txt
Alias /favicon.ico /var/www/mysite.com/static/favicon.ico
Alias /media/ /var/www/mysite.com/media/
Alias /static/ /var/www/mysite.com/static/
<Directory /var/www/mysite.com/static>
Require all granted
</Directory>
<Directory /var/www/mysite.com/media>
Require all granted
</Directory>
重新開機服務即可
apachectl restart
注:如有必要,需要注釋掉welcome.conf的内容。