共计 2595 个字符,预计需要花费 7 分钟才能阅读完成。
文章目录 [隐藏]
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>
正文完
扫码赞助
