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

 更新时间:2019年01月02日 11:35:11   作者:yuan_zw  
这篇文章主要介绍了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里面写的两个路径

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

相关文章

  • 利用VSCode进行远程Linux服务器、容器开发,达到ide开发项目的效果(最新推荐)

    利用VSCode进行远程Linux服务器、容器开发,达到ide开发项目的效果(最新推荐)

    最方便、最开始的开发方式当然是在本地ide中,比如初学者在Windows电脑上使用pycharm来学习python、深度学习,或者使用devc++、visual studio等来编写c++项目,在本地ide中,可以浏览文件夹、查看文本和图片等,进一步还可以运行调试python、C++等项目
    2022-12-12
  • 详解Linux防火墙iptables禁IP与解封IP常用命令

    详解Linux防火墙iptables禁IP与解封IP常用命令

    这篇文章主要介绍了详解Linux防火墙iptables禁IP与解封IP常用命令,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Git提交日志修改方法实例汇总

    Git提交日志修改方法实例汇总

    这篇文章主要介绍了Git提交日志修改方法实例汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Linux云服务器搭建SFTP服务器图片服务器的操作

    Linux云服务器搭建SFTP服务器图片服务器的操作

    这篇文章主要介绍了Linux云服务器搭建SFTP服务器图片服务器的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Linux shell中的test命令用法教程

    Linux shell中的test命令用法教程

    这篇文章主要给大家介绍了Linux shell中的test命令用法的相关资料,test命令是shell环境中测试条件表达式的实用工具,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-04-04
  • Linux 系统下安装JDK1.8的教程详解

    Linux 系统下安装JDK1.8的教程详解

    这篇文章主要介绍了Linux 系统下安装JDK1.8的教程详解,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • Linux系统设置开机自动运行脚本的方法实例

    Linux系统设置开机自动运行脚本的方法实例

    这篇文章主要给大家介绍了关于Linux系统设置开机自动运行脚本的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Linux系统具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06
  • ubuntu16.04服务器配置ssh免密码登录

    ubuntu16.04服务器配置ssh免密码登录

    通过本文给大家分享ubuntu16.04服务器配置ssh免密码登录的方法,分为客户端和服务端操作及ssh简写技巧,非常不错具有一定的参考借鉴价值,感兴趣的朋友一起看看吧
    2016-10-10
  • linux中启动tomcat后浏览器无法访问的解决方法

    linux中启动tomcat后浏览器无法访问的解决方法

    最近在启动了tomcat后发现了一些问题,通过查找相关资料终于解决了,下面将解决方法分享给大家,这篇文章主要给大家介绍了关于linux中启动tomcat后浏览器无法访问的解决方法,需要的朋友可以参考下。
    2017-12-12
  • ubuntu/deepin制作快捷启动图标的方法

    ubuntu/deepin制作快捷启动图标的方法

    这篇文章主要介绍了ubuntu/deepin制作快捷启动图标的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02

最新评论