iis部署django项目完整教程

Django项目部署稀有教程

    • 背景
    • 步骤
    • 总结:

背景

  • 时间:2019.5.3
  • 创作背景
    最近用django开发了一个小项目,打算用iis上线挂到网上,但是找遍了网络上的各种教程,在服务器上都没有成功,自己慢慢摸索,花了一个多星期总算部署成功。于是写这篇帖子来让有需要的小伙伴来参考。
  • 部署配置:
    1. 服务器:Windows server12
    2. 数据库:mysql
    3. python环境:python3.6+Django2.2
    4. 依赖包:mysqlclient、wfastcgi

步骤

  1. 开启iis(详细步骤可以参考网上的,这里就不赘述了),安装python解释器,安装django。
  2. 打包项目:
    命令行切换到项目的路径下,输入以下命令,将依赖包导出到文件中,将项目整个打包上传到服务器中。建议将项目放到C:\inetpub\wwwroot这个目录下。
pip freeze > requirements.txt
  1. 命令行切换到项目目录下,运行以下命令导入依赖包。
pip install -r requirements.txt
  1. 在iis中创建网站,目录就是项目所在的路径。
  2. 安装wfastcgi,直接使用pip命令安装即可。
  3. 命令行输入:wfastcgi-enable,复制其中的wfasgtcgi.py的路径。
  4. 打开建立的网站,选择“处理程序映射”,然后选择“添加模块映射”
    iis部署django项目完整教程_第1张图片
    按照上图配置,可执行文件中填的前面一部分是python.exe的路径,中间用“|”分割,后面一部分是wfastcgi.py文件的路径。例如:C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe|C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Lib\site-packages\wfastcgi.py

请求限制里面去掉勾选的。如下图:
iis部署django项目完整教程_第2张图片
8. 进入fastcgi设置:
iis部署django项目完整教程_第3张图片
进入之后找到自己添加的映射模块,路径和自己添加的对的上的就是的。双击,在环境变量选项中添加三个参数:

 name:WSGI_HANDLER
 value:django.core.wsgi.get_wsgi_application()
 
 name:PYTHONPATH
 value:C:\inetpub\wwwroot\sale(替换为自己的项目路径)
 
 name:DJANGO_SETTINGS_MODULE
 value:sale.settings(sale替换为自己的项目名)
  1. 点击自己创建的网站,右键选择添加虚拟目录,名称static,物理路径就填自己项目的静态文件夹。如果没有这一步,通过浏览器访问的只能看到HTML结构。静态文件无法加载。
  2. 极其重要的一步(99.99%的网上教程没有这个要命的一步):找到python解释器和项目的根路径,右键->属性->安全,给IIS_IUS和IUSER对这两个文件夹的完全控制权。否则会因为权限问题,网站无法跑起来,状态一直是500.

总结:

windows系统对django不是很友好,在windows上部署的话,效率很低,建议部署在Linux上。对于网站的静态文件,尤其是图片,一定要控制好文件大小。图片尽量压缩,可以在下面这个网站apowersoft进行压缩。如果压缩过后还是比较大,建议使用CDN.

你可能感兴趣的:(django)