centos8+Flask+apache等Flask部署操作(爬出坑的过来人能否拉出来你)

centos8+Flask+apache等Flask部署操作(跳跃各种坑)

1 安装apache和开通防火墙

  • 1查看防火墙状态并开通端口

      systemctl status firewalld
    
      开放8080   firewall-cmd --add-port=8080/tcp --permanent
    
      开放80   firewall-cmd --add-port=80/tcp --permanent
    
  • 2 安装apache 其中httpd也就是apache的别名

       yum install httpd
       ```
    
    
  • 3 启动apache服务并使其在系统启动时启动

      systemctl start httpd 
    
      在系统启动时启动
    
      systemctl enable httpd
    
      重启(这个在配置文件的时候经常用)
    
      systemctl restart httpd 
    

在centos8中apache中部署flask项目

前提:已经安装python 等各种需要的包,比如flask , gevent等

  • 1 创建flask项目

    我是在windows上完成flask的开发后在虚拟机上部署的。最后flask这个文件夹整个放在了/var/www/中了,与html同级目录

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bsdXaBF3-1587701292012)()]

    创建的项目目录:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ABlvjMDR-1587701292014)(C:\Users\zhu_g\AppData\Roaming\Typora\typora-user-images\image-20200423161501091.png)]

  • apache httpd 在:/etc/httpd/conf.d中增加一个.conf文件(告诉apache你的项目在哪,通过什么端口访问等信息)

    比如我的文档名字app.conf

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7uzo658E-1587701292015)]

    app.conf中的内容为

      NameVirtualHost *:8080
      <VirtualHost *:8080>
          ServerName example.com
          WSGIDaemonProcess flask_qs  threads=5
          WSGIScriptAlias / /var/www/flask_qs/app.wsgi
      <Directory /var/www/flask_qs>
          WSGIProcessGroup flask_qs
          WSGIApplicationGroup %{GLOBAL}
          Order deny,allow
          Allow from all
      </Directory>
      </VirtualHost>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TqvXhz1w-1587701292017)]

  • 添加wsgi文件(用户告诉apache去哪启动,把剩下的寻找数据的任务给谁)

    和app.py同目录添加一个文件xxx.wsgi

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3mWR8UxA-1587701292019)(C:\Users\zhu_g\AppData\Roaming\Typora\typora-user-images\image-20200423162542424.png)]

    xxx.wsgi的内容

      import sys
      sys.path.insert(0,'/var/www/flask_qs')
      from app import app as application
    

然后重启服务器,就可以访问了。

跳坑秘籍

  • 1 安装python的坑

    如果前面的项目启动有问题,那么我们可以去看httpd的log中的错误日志,其中我的项目是可以的,刚开始遇到了没有安装Flask,然后没有安装IPy,gevent等各种包,然后其中gevent最难安装。

    安装gevent出错

    httpd中的log日志提示: Unable to find a python-devel

    Error: must have python development packages for 2.4, 2.5, 2.6 or 2.7. Could not find Python.h.Please install python2.4-devel, python2.5-devel, python2.6-devel or python2.7-devel
    

    解决方案

    如果你使用的是centOS系统,或者支持yum的系统,那么可以通过如下方式进行安装:

yum search python | grep -i devel

通过上面命令会找到devel开发包,你会看到这名字(python-devel.x86_64)然后就执行这个安装,然后再运行下面命令进行安装:

yum  install python-devel.x86_64

令会找到devel开发包,你会看到这名字(python-devel.x86_64)然后就执行这个安装,然后再运行下面命令进行安装:

yum  install python-devel.x86_64
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值