17
2022
05

iis部署django项目完整教程

背景

时间:2019.5.3

创作背景

最近用django开发了一个小项目,打算用iis上线挂到网上,但是找遍了网络上的各种教程,在服务器上都没有成功,自己慢慢摸索,花了一个多星期总算部署成功。于是写这篇帖子来让有需要的小伙伴来参考。

部署配置:

服务器:Windows server12

数据库:mysql

python环境:python3.6+Django2.2

依赖包:mysqlclient、wfastcgi

步骤

开启iis(详细步骤可以参考网上的,这里就不赘述了),安装python解释器,安装django。

打包项目:

命令行切换到项目的路径下,输入以下命令,将依赖包导出到文件中,将项目整个打包上传到服务器中。建议将项目放到C:\inetpub\wwwroot这个目录下。

pip freeze > requirements.txt

1

命令行切换到项目目录下,运行以下命令导入依赖包。

pip install -r requirements.txt

1

在iis中创建网站,目录就是项目所在的路径。

安装wfastcgi,直接使用pip命令安装即可。

命令行输入:wfastcgi-enable,复制其中的wfasgtcgi.py的路径。

打开建立的网站,选择“处理程序映射”,然后选择“添加模块映射”


按照上图配置,可执行文件中填的前面一部分是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

请求限制里面去掉勾选的。如下图:


8. 进入fastcgi设置:


进入之后找到自己添加的映射模块,路径和自己添加的对的上的就是的。双击,在环境变量选项中添加三个参数:


 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

2

3

4

5

6

7

8

点击自己创建的网站,右键选择添加虚拟目录,名称static,物理路径就填自己项目的静态文件夹。如果没有这一步,通过浏览器访问的只能看到HTML结构。静态文件无法加载。

极其重要的一步(99.99%的网上教程没有这个要命的一步):找到python解释器和项目的根路径,右键->属性->安全,给IIS_IUS和IUSER对这两个文件夹的完全控制权。否则会因为权限问题,网站无法跑起来,状态一直是500.

总结:

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


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。