• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    CentOS7部署Flask(Apache、mod_wsgi、Python36、venv)

    一、安装Apache

    # yum install -y httpd httpd-devel
    # systemctl start httpd.service    # 启动
    # systemctl stop httpd.service     # 关闭
    # systemctl restart httpd.service   # 重启
    # systemctl enable httpd.service    # 开机自启

    防火墙开放80端口

    # firewall-cmd --zone=public --add-port=80/tcp --permanent
    # firewall-cmd --reload

    开启Apache,外网已经可以通过ip访问Apache的默认页面了

    二、安装Python36、pip3、virtualenv

    # yum install -y epel-release
    # yum install -y python36
    # python36 -V
    Python 3.6.6
    # yum install -y python36-setuptools
    # easy_install-3.6 pip
    # pip3 -V
    pip 18.1 from /usr/local/lib/python3.6/site-packages/pip-18.1-py3.6.egg/pip (python 3.6)
    # pip3 install virtualenv

    三、创建项目

    创建flask项目(最简单的,一个项目文件夹、一个启动文件)

    # mkdir /var/www/flask_test    # 项目文件夹
    # vi /var/www/flask_test/app.py  # 启动文件

    启动文件例子: 

    from flask import Flask, request
     
    app = Flask(__name__)
     
    @app.route('/')
    def hello_world():
      return 'Hello World'
     
    @app.route('/hello')
    def hello():
      name = request.args.get('name','')
      return 'Hello ' + name + '!'
     
    if __name__ == '__main__':
      app.run()

    在项目文件夹下创建虚拟环境,安装flask

    # cd /var/www/flask_test
    # virtualenv py3env      # 创建虚拟环境
    # source py3env/bin/activate  # 进入虚拟环境
     
    (py3env) # pip install flask  # 安装flask
    (py3env) # deactivate     # 退出虚拟环境

    四、在虚拟环境中用pip安装mod_wsgi

    # yum install -y python36-devel.x86_64   # 一个依赖,不安装的话,下面pip会报错。。
    # source py3env/bin/activate        # 进入虚拟环境
    (py3env) # pip install mod_wsgi      # 安装mod_wsgi
    (py3env) # mod_wsgi-express install-module # 执行该命令,把输出内容复制下来
    LoadModule wsgi_module "/usr/lib64/httpd/modules/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"
    WSGIPythonHome "/var/www/flask_test/py3env"
     
    (py3env) # deactivate           # 退出虚拟环境

    修改Apache的配置

    # vi /etc/httpd/conf/httpd.conf

    复制上面得到的这行内容,添加到配置文件的最后

    复制代码 代码如下:
    LoadModule wsgi_module "/usr/lib64/httpd/modules/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"

    五、配置mod_wsgi

    # vi /var/www/html/flask_test/app.wsgi

    写入以下内容(根据:https://dormousehole.readthedocs.io/en/latest/deploying/mod_wsgi.html)

    activate_this = '/var/www/flask_test/py3env/bin/activate_this.py'
    with open(activate_this) as file_:
      exec(file_.read(), dict(__file__=activate_this))
     
    import sys
    sys.path.insert(0, '/var/www/flask_test')
    from app import app as application

    配置Apache

    # vi /etc/httpd/conf/httpd.conf

    写入以下内容(根据:https://dormousehole.readthedocs.io/en/latest/deploying/mod_wsgi.html#id1)

    <VirtualHost *:80>
      ServerName example.com
      WSGIScriptAlias / /var/www/flask_test/app.wsgi
      <Directory /var/www/flask_test>
        Require all granted
      </Directory>
    </VirtualHost>

    OK了,启动Apache,通过这台服务器的ip就能访问网页了

    测试一些app.py里面写的两个路径

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    上一篇:Vmware添加磁盘的方法:扩展磁盘
    下一篇:详解Docker+Jenkins+Gitlab+Django应用部署实践
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    CentOS7部署Flask(Apache、mod_wsgi、Python36、venv) CentOS7,部署,Flask,Apache,mod,