python django开发使用工具是pycharm会自动虚拟一个python环境“venv”
使用apache部署python
1.安装python环境
2.下载apache环境
打开 conf/httpd.conf 文件,进行一些修改。 可以直接ctrl + F进行搜索查找
Define SRVROOT "D:\Program Files\Apache24" # 你的Apache文件路径 ServerRoot "D:\Program Files\Apache24" # 这个是我的解压后的文件夹 Listen 8080 #修改端口号 ServerName 8080 # 修改这一行
修改完之后cmd打开进入bin目录 启动httpd.exe文件, 然后浏览器访问127.0.0.1:8080 网页出现 It works 则表示配置成功,否则为失败,需仔细检查上述修改是否正确。
3. 下载安装mod_wsgi获取wsgi相关信息
下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/ CTRL + F 搜索 mod_wsgi
搜索对应python版本的,将其拷贝到python目录下的“Scripts”中
cd到下载文件目录然后 pip install "mod_wsgi-4.6.5+ap24vc14-cp36-cp36m-win_amd64.whl"安装
引号中的文件名根据实际更改,安装成功后再输入mod_wsgi-express module-config拷贝
# 1.安装wsgi模块后,出来的三行字符,直接复制过来
LoadFile "d:/program files/python38/python38.dll"
LoadModule wsgi_module "d:/program files/python38/lib/site-packages/mod_wsgi/server/mod_wsgi.cp38-win_amd64.pyd"
#当前项目的python虚拟环境路径
WSGIPythonHome "D:/PythonPro/djangoProject/venv"
4.部署Django与Apache
打开conf/ httpd.conf 在文件末尾添加如下信息
# 1.安装wsgi模块后,出来的三行字符,直接复制过来
LoadFile "d:/program files/python38/python38.dll"
LoadModule wsgi_module "d:/program files/python38/lib/site-packages/mod_wsgi/server/mod_wsgi.cp38-win_amd64.pyd"
#当前项目的python虚拟环境路径
WSGIPythonHome "D:/PythonPro/djangoProject/venv"# 2.设置工程中的wsgi路径
WSGIScriptAlias / D:/PythonPro/djangoProject/djangoProject/wsgi.py application-group=%{GLOBAL}
# 3.设置工程路径
WSGIPythonPath D:/PythonPro/djangoProject
# 4.设置wsgi路径
<Directory D:/PythonPro/djangoProject/djangoProject>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
#设置静态文件路径
Alias /static D:/PythonPro/djangoProject/static
<Directory D:/PythonPro/djangoProject/static>
AllowOverride None
Options None
Require all granted
</Directory>
5.将Apache安装成windows server,就不需要每次打开httpd.exe出现一个小黑框了。
bin目录下运行cmd命令httpd -k install -n “服务名” (不加参数,默认Apache2.4) · httpd -k uninstall -n “服务名”
运行apache:net start apache2.4
停止apache:net stop apache2.4
删除apache:sc delete Apache2.4
6.可能链接数据库会有时500错误
修改 apache配置文件 httpd.conf在 WSGIScriptAlias 后面添加一个参数:application-group=%{GLOBAL}
如下:# 配置项目的 wsgi 路径WSGIScriptAlias / F:\...path...\wsgi.py application-group=%{GLOBAL}