记一次Apache+Win-server部署Django
服务器:Apache2.4
服务器系统:win-server
本地系统:win10
项目:web
框架:django 2.1.4
Python:3.7
1、在服务器上安装Apache
下载apache;http://httpd.apache.org/
下载windows系统适配的apache版本,注意是基于x86还是x64的版本
解压后将下面这3个文件放在C盘根目录;若希望更换apache目录位置,需要进入httpd.conf修改配置文件路径,参考地址https://blog.csdn.net/sunqian666888/article/details/78561399
在bin目录下运行cmd,输入指令start httpd或者双击httpd.exe即可启动服务器
若需开机自动启动,cmd输入
httpd.exe -k install
若需取消开机自启动,cmd输入
httpd.exe -k uninstall
启动服务器后,关闭httpd命令符即关闭服务器
启动服务器后,可通过公网IP访问该服务,展示的页面默认为‘It Works!’页面存放地址为Apache24\htdocs\
解压后有一个readme.txt文件,里面指出该版本需要安装Visual C++ Redistributable for Visual Studio 2017才可正常运行,所以服务器需要在安装上述插件
2、在服务器上配置语言环境
在服务器系统上安装python、django,版本最好和项目版本一致,直接把安装包复制进服务器系统安装即可
配置环境变量:
①配置python路径:C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32
②配置django的安装路径:C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\Lib\site-packages
③安装mod_wsgi文件,下载地址https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
注意:需要对应apache和python的版本进行下载,32位对应32位apache,64位对应64位apache
下载后将文件复制到python安装目录下的script目录下,在此目录下运行cmd,输入指令pip3 install xxxx.whl 进行安装
安装完毕后输入
mod_wsgi-express module-config
查看wsgi文件
会输出3行信息:
LoadFile "c:/users/administrator/appdata/local/programs/python/python37-32/python37.dll" LoadModulewsgi_module "c:/users/administrator/appdata/local/programs/python/python37-32/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win32.pyd" WSGIPythonHome "c:/users/administrator/appdata/local/programs/python/python37-32"
将mod_wsgi文件安装位置加入环境变量,即把python下的script文件夹配置到系统路径里
至此,环境配置完毕
3、导入web项目
在win-server服务器上自定义一个区域存放web项目,复制即可
4、配置Apache
Apache配置文件存放于Apache24\conf\httpd.conf中,可以用txt或其他编译器打开(Notepad++)
在文件最下方新增:
① #添加mod_wsgi.so 模块 LoadFile "c:/users/administrator/appdata/local/programs/python/python37-32/python37.dll" LoadModule wsgi_module "c:/users/administrator/appdata/local/programs/python/python37-32/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win32.pyd" WSGIPythonHome "c:/users/administrator/appdata/local/programs/python/python37-32"
② #指定website的wsgi.py配置文件路径 #这里填写wsgi.py文件所在的路径 WSGIScriptAlias / "C:\my_project\project_1\Web\Web\wsgi.py" 以上为配置需要部署的项目中wsgi.py的位置
③ #指定项目路径 WSGIPythonPath "C:\my_project\project_1\Web" #这里填写自己的项目路径 <Directory C:\my_project\project_1\Web> <Files wsgi.py> Require all granted </Files> </Directory>
④
#指定静态资源路径
待研究
5、Django配置
①
setting.py文件的配置
# SECURITY WARNING: don't run with debug turned on in production! DEBUG = False ALLOWED_HOSTS = ['*']
代表所有ip都可进行访问