1.环境说明
使用apache 2.4模块中的mod_proxy_uwsgi作为跟django通讯的模块。
XAMPP:v3.3.0
Python:3.8
Django:4.0.5
MySQL:5.7.27
OS:Windows Server 2012
Apache:2.4.x
项目代码存放路径:C:\mysite
2、配置python环境
使用virtualenv安装虚拟环境这里就不多说了,自行百度一下。
安装mod_wsgi环境,访问:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
安装一下:
pip install C:\mod_wsgi-4.9.2-cp38-cp38-win_amd64.whl
c:\mysite>mod_wsgi-express module-config
输出如下信息:
LoadFile "c:/python38/python38.dll"
LoadModule wsgi_module "c:/python38/lib/site-packages/mod_wsgi/server/mod_wsgi.cp38-win_amd64.pyd"
WSGIPythonHome "c:/python38"
以上配置待会将拷贝到httpd-vhost.conf文件中去。
3.配置Apache
将mod_proxy_uwsgi模块放出来,去掉前面的#
#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so
#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
配置httpd-vhost.conf:
# Virtual Hosts
#
# Required modules: mod_log_config
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.4/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
LoadFile "c:/python38/python38.dll"
LoadModule wsgi_module "c:/python38/lib/site-packages/mod_wsgi/server/mod_wsgi.cp38-win_amd64.pyd"
WSGIPythonHome "c:/python38"
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
Listen 80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ##ServerName or ##ServerAlias in any <VirtualHost> block.
#
##<VirtualHost *:80>
##ServerAdmin webmaster@dummy-host.example.com
##DocumentRoot "C:/xampp/htdocs/dummy-host.example.com"
##ServerName dummy-host.example.com
##ServerAlias www.dummy-host.example.com
##ErrorLog "logs/dummy-host.example.com-error.log"
##CustomLog "logs/dummy-host.example.com-access.log" common
##</VirtualHost>
##<VirtualHost *:80>
##ServerAdmin webmaster@dummy-host2.example.com
##DocumentRoot "C:/xampp/htdocs/dummy-host2.example.com"
##ServerName dummy-host2.example.com
##ErrorLog "logs/dummy-host2.example.com-error.log"
##CustomLog "logs/dummy-host2.example.com-access.log" common
##</VirtualHost>
#设置django工程中的wsgi路径
WSGIScriptAlias / C:\mysite\mysite\wsgi.py
#设置django工程路径
WSGIPythonPath C:\mysite
#设置wsgi的文件夹路径
<Directory C:\mysite\mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
#设置静态文件路径
Alias /static C:\mysite\static
<Directory C:\mysite\static>
AllowOverride None
Options None
Require all granted
</Directory>
- 微信扫码赞助
- 支付宝赞助