| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Django+Windows+IIS,避坑实录 -> 正文阅读 |
|
[Python知识库]Django+Windows+IIS,避坑实录 |
????????打算将Django项目部署在服务器上(Windows环境),前面试图使用Apache,结果无论怎么试都不行(从查阅的资料猜测应该是跟python版本和VC版本有关),所以才有了这篇文章。 ? ? ? ? 不管外面对IIS的评价怎么样,但对我这么一个新手来说,部署起来真是相当简单友好。 ? ? ? ? 部署的过程大概就是三部分:安装相应版本Python,打包上传项目,开启IIS,设置网站。这个过程非常简单,我将步骤整理如下。 ? ? ? ?本文结构: ?????????????????一、安装对应版本Python; ????????????????二、打包上传项目; ????????????????三、开启IIS; ????????????????四、设置网站; ????????????????五:常见问题解决方法 一、安装对应版本Python ? ? ? ? 1、查看自己Windows是多少位系统操作。可以通过我的电脑--右键--属性进行查看。我的是64位。 ? ? ? ? 2、去官网下载对应版本Python。我下载的是Python3.9.6(64位) ? ? ? ? ?3、建一个文件夹来存放Python(这一步可选,即使不建也没关系)。我建的是一个名为python的文件夹,路径是‘C:\python’ ? ? ? ? 4、安装Python。这里要注意两点,一个是把添加系统变量给勾选上,而是选择location。 ?勾选 选择自己的location? ?????????5、检查是否安装成功。方法是打开cmd,输入python并回车,如果安装成功如下图所示 ?二、打包上传项目(你的项目在本地测试应该是成功) ????????1、上传前先获取项目依赖包。方法,在本地项目路径下使用pip freeze > requirements.txt命令获取项目的requirements.txt文件(它自动生成在项目路径里,不要动它),里面存的都是项目所依赖的包。 ????????2、上传项目。方法:将已经生成过requirements.txt文件的项目文件夹复制粘贴到服务器的里。具体粘贴到哪里有你自己确定。我这里是粘贴到了C盘。 ????????3、安装项目依赖包。方法:在你粘贴的项目文件夹里打开cmd,执行 如果使用的是Mysql数据库,请自行安装Mysql和导入数据,我这里用的是Django自带的sqlite3,文件直接在项目文件夹里,不用安装和导入数据库数据了。? 三、开启IIS ????????1、安装IIS。从Windows里搜索到iis,然后点击它 ?之后会出现以下页面,根据页面进行点击即可。我的已经安装好了,下面这几张图是从网上搜到的,过程基本一致。 ?????????请注意,在这一步之后,版本的不同,有的会出现让选择配置?,不用管,一致下一步,最后会出现下面这个页面: 点击结束即可。 ????????2、安装CGI。方法是再次选择添加角色和功能,找到之前安装的WEB服务器IIS,点击它,就会如下图所示: 然后在展开的选项里找到Web服务器,点击它,找到应用程序开发点击在展开的列表里找到CGI,勾选,然后下一步,安装它?,如下图: 最后结束的画面如下图: ????????关闭即可。此时就可测试一下iis服务器是否开启成功。测试方法是在浏览器输入http://127.0.0.1,然后回车,如果页面如下图,即是开启成功?: ?四、设置网站(这个是重头戏,非常关键) ????????1、在IIS里添加网站(也就是你的项目),如下图,可依次照着设置。 这时项目就出现在网站列表里,如下图: 至此,我们服务器上有了项目,也有了网站。因为在Windows下,我们没法使用uwsgi,所以我们还需要一个桥梁把它们连接起来——wfastcgi。 ????????2、下载wfastcgi。方法是在打开CMD窗口里,输入命令 ????????3、启动 ? 特别注意:箭头指到的方框里的内容要复制下来,后面要用,它说的是python和? ????????4、设置配置文件web.config(目的是让网站能够找到加载项目) 这个web.config文件应该放在项目的根目录里,也就是跟manage.py平级。配置文件内容如下,请按照实际进行修改: 代码如下:
?到这里就可以看到你通过“公网IP:8000”,在浏览器看到你的网页。这里有个注意事项,就是你的把debug设置为False,ALLOWED_HOSTS设置为你的公网IP,才能显示网站。 五:常见问题解决方法 说说几种错误出现时的处理方法: 一、网站静态文件(样式什么的)加载不出来 解决办法: ????????1、添加虚拟目录,在IIS找选中网站项目名,右键--添加虚拟路径 添加虚拟目录时,别名放与你settings里设置的一致,比如'static',物理路径就是静态资源的实际目录。 ????????2、在static里新建一个web.config文件,然后写入下面的内容:
重启IIS,访问网站,前端就能正常显示。 ?二、网站media文件(视频图片什么的)加载不出来 ?????????方法:跟第一种问题的解决方法一模一样,唯一的区别是把web.config文件里的第七行中的 三、用户无法登录,出现500错误。 ????????错误的原因是数据库文件没有权限(所谓的777权限),所以只需要给它权限即可。如下图: 四、 (下面这几种错误我并没出现过,但是其他人出现了,所以我把它们也收集到这里,供大家参考): 如果访问IIS出现如下错误 HTTP 错误 500.19 Internal Server Error 出现这样的情况是因为IIS7之后的版本都采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改。我们把它解锁了就OK。 打开CMD,在里面依次输入下面两个命令:
解除了锁定之后,再访问网站就能正常显示了。 还有种情况:有时候访问页面,或者单独访问网站后台出现400错误,这个时候可能是因为没有给网站权限的原因。我们打开IIS,找到网站,右键,编辑权限,给IIS用户添加修改和写入权限。就能正常访问。 管理后台样式丢失解决 正常情况下,部署的时候管理后台样式是不能正常显示的,我们需要收集这些样式到项目里去,才能正常显示。 步骤: 1、在settings.py里添加STATIC_ROOT配置指定收集路径如:
然后CMD下运行如下面命令,进行样式采集:
采集完成之后,刷新页面。后台样式成功显示 ?如果感觉对你有帮助,就点赞收藏吧! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/25 14:29:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |