美文网首页
服务器上用IIS部署Flask web项目

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

作者: 十柒年 | 来源:发表于2018-10-22 17:27 被阅读340次

    1.前言

    最近写了一个flask 的web小网站,有一个自己的百度云服务器,就想着把这个网址部署上去,搜了挺多的资料,这里非常感谢https://blog.csdn.net/david_lee13/article/details/81985847?utm_source=blogxgwz0这位用户,提供了非常多的帮助。以前写的都是.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试一下。
    image.png
    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中添加一个网站,如图。

    添加网站
    添加好之后,执行。
    image.png
    好吧,浏览器里又报错了,不过这次错误是比较好解决的,下面可以看到 No module named 'flask-sqlalchemy',这里解释一下,在本地的时候,这些包都是全的,因为要进行开发,但是服务器上的python环境是新装的,所以还没有这些包,不着急,慢慢来,看都少那些包,在安装一次就行了。
    ok服务器部署成功。如图。
    部署成功
    在本地测试一下。
    image.png
    ok,可以打开,没问题。页面是可以显示出来了,数据库还没测试,应该也是没问题的。好了,至此,IIS上部署flask项目完成。
    Study hard and make progress every day。

    更多学习资料请关注"爱游戏爱编程"。


    爱游戏爱编程.jpg

    相关文章

      网友评论

          本文标题:服务器上用IIS部署Flask web项目

          本文链接:https://www.haomeiwen.com/subject/beowzftx.html