服务器上用IIS部署Flask web项目

1.前言

最近写了一个flask 的web小网站,有一个自己的百度云服务器,就想着把这个网址部署上去,搜了挺多的资料,这里非常感谢windows IIS部署python Flask网站_david李dvd的博客-CSDN博客_iis部署flask这位用户,提供了非常多的帮助。以前写的都是.net项目,发布一下,直接在IIS里添加项目就行了,而这个项目是python,flask项目,和发布.net项目还是有点区别的。下面一步一步来。

2.准备工作

我的服务器以前一直是用来放.net项目的,所以python的环境一直没有装,首先安装Python3.6.5。装好添加个环境变量。测试一下。

python环境


嗯,很正常,没问题,请忽略我的32位的python,凑活用就行。然后是装mysql,没啥好说的,选个server only然后一顿下一步就行了。装好测试下。

Mysql


嗯,也没问题。
然后在IIS里添加一个ftp站点,把代码传上来。如何新建ftp站点的,我在另一篇文章中讲了,这里就不在赘述了。https://www.jianshu.com/p/a3f9624cce99
传好的代码。

image.png


这里为什么会有一个web.config文件呢?是因为我已经在我本机上测试发布了一下,在我自己的电脑上测试成功了,在来服务器发布的。哈哈。

3.准备发布

首先用pip安装一个wfastcgi。

pip install wfastcgi

wfastcgi


然后执行一下python36-32/scripts/wfastcgi-enable.exe

image.png


报错了,不要紧,那执行disable.exe试一下。

 


ok成功,成功之后把这个路径复制下来,放到web.config文件中,类似这样。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers>
           <add name="FlaskFastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="e:\virtualenv\flask-env\scripts\python.exe|e:\virtualenv\flask-env\lib\site-packages\wfastcgi.py&quot;" resourceType="Unspecified" requireAccess="Script" />
        </handlers>
        <security>
            <requestFiltering allowDoubleEscaping="true"></requestFiltering>
        </security>
    </system.webServer>
    <appSettings>
        <!-- Required settings -->
        <add key="WSGI_HANDLER" value="app.app" />
        <add key="PYTHONPATH" value="~/" />
    </appSettings>
</configuration>

scriptProcessor后面的路径改成刚才命令行里的路径,如果scriptProcessor还是一直报错的话,那就可能是空格问题了,建议还是放到一个没有空格的目录下避免出错,下面的WSGI_HANDLER改成flask项目中主py文件的名字,后缀名就是app。然后在IIS中添加一个网站,如图。

添加网站


添加好之后,执行。

 


好吧,浏览器里又报错了,不过这次错误是比较好解决的,下面可以看到 No module named 'flask-sqlalchemy',这里解释一下,在本地的时候,这些包都是全的,因为要进行开发,但是服务器上的python环境是新装的,所以还没有这些包,不着急,慢慢来,看都少那些包,在安装一次就行了。
ok服务器部署成功。如图。


在本地测试一下。

 

image.png


ok,可以打开,没问题。页面是可以显示出来了,数据库还没测试,应该也是没问题的。好了,至此,IIS上部署flask项目完成。

Study hard and make progress every day。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李公子lm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值