天天看點

centos7 使用 apache2.4 + mod_wsgi 部署django項目使用 apache2.4 + mod_wsgi 部署django項目

使用 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的内容。