基于Python下的微服务器部署方案

基于Python下的微服务器部署方案

目的:将算法部署到服务器以方便后续调用。

尝试方案1:Ubuntu+Nginx+uwsgi+Flask

  • 目前在Ubuntu系统下此方案可行,在Win下由于uwsgi无法安装,导致目前不可用(2020/10/10 亲测)。具体在Ubuntu下安装没有进行细节尝试。

尝试方案2:Windows+Apache+mod_wsgi+Flask

  • Apache:Web服务器
  • Mod_wsgi:Python编写的Apache的FastCGI模块
  • Flask: Python的web框架
  1. 安装Apache,这里按照此方式即可,亲测可行。
  2. 安装Mod_wsgi,根据Python版本及系统位数选择,下载地址点我,这里我用的是Python3.7及Win64。下载完成后使用pip install xxx.whl完成安装。

  1. 配置Apache的wsgi扩展,首先找到你的Python路径下的Scripts,例如我的是在C:\Users\zhihao\AppData\Local\Programs\Python\Python37\Scripts,打开cmd运行mod_wsgi-express module-config将出现的语句复制,然后拷贝到你的Apache文件夹conf中的httpd.conf文件最下方即可。再重启Apache检查是否成功。
    在这里插入图片描述

  2. 测试wsgi与Apache是否连接成功,首先在工程文件夹下面创建test.wsgi并将以下代码复制进去,切记要查看代买格式缩进,因为缩进踩了很多坑。

    def application(environ,start_response):
        status = "200 Ok"
        output = b"Hello wsgi"
        response_headers=[('Content-type','text/plain'),('Content-Length',str(len(output)))]
        start_response(status,response_headers)
        return[output]
    
  3. 将以下代码复制到Apache文件夹conf中的httpd.conf文件最下方。注意以下代码适用于Apach2.4。对Apach2.2需要将Require all granted改为Order allow,denyAllow from all,具体代码不再展示。

    <VirtualHost *:80>
           DocumentRoot D:\projects\xxx
           WSGIScriptAlias / D:\projects\xxx\test.wsgi
           <Directory 'D:\projects\xxx'>
                  AllowOverride AuthConfig FileInfo
                  Require all granted
           </Directory>
    </VirtualHost>
    
  4. 重启Apache,如果成功,网页localhost应该显示‘Helllo wsgi

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值