首页 > 技术文章 > 记一次Apache+Win-server部署Django

cooper-wang 2019-01-03 15:58 原文

服务器: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都可进行访问

推荐阅读