用Apache2在Django上运行
使用mod_wsgi守护模式。
- Ubuntu 19.04
sudo apt install apache2 libapache2-mod-wsgi-py3
端口设置
如果需要更改到80以外的端口,可以编辑/etc/apache2/ports.conf。
设置本地化参数
想要使用系统默认的UTF-8编码。
...
## Uncomment the following line to use the system default locale instead:
. /etc/default/locale # この行をコメント解除
...
编辑设置文件
假设您已将virtualenvwrapper的WORKON_HOME设置为~/venv/(在Ubuntu 19.04上安装Python的virtualenv和virtualenvwrapper)。
另外,假设Django项目文件夹位于~/PROJECT/。
<VirtualHost *:80>
ServerName SERVERNAME
Define user_name USERNAME
Define project_name PROJECT
Define venv_name VENV
WSGIPassAuthorization On
WSGIDaemonProcess ${project_name} python-home=/home/${user_name}/venv/${venv_name}/ python-path=/home/${user_name}/${project_name}/
WSGIProcessGroup ${project_name}
WSGIScriptAlias / /home/${user_name}/${project_name}/${project_name}/wsgi.py process-group=${project_name}
<Directory /home/${user_name}/${project_name}/${project_name}/>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我将重新加载以使其生效。
sudo systemctl reload apache2