apache+mod_wsgi+flask 环境搭建

本文档详细介绍了如何在服务器上搭建Apache、Mod_WSGI和Flask环境。首先,通过yum或pip安装Flask,接着安装Mod_WSGI。然后,配置Apache,包括启用虚拟主机和加载mod_wsgi模块。最后,调整项目结构,创建flask.wsgi文件,完成基本的Flask工程布局。按照步骤操作,即可通过服务器IP访问到'Hello Flask'页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

apache + flask + mod_wsgi

1 服务器框架 apache mod_wsgi flask

1.1 安装 flask

1.1.1 通过yum或者pip均可以很方便的安装flask
  • 测试flask是否安装成功是通过新建 run.py
    from flask import Flask
    app = Flask(__name__)
    
    @app.route('\')
    def index():
         return "Hello Flask"
    
    if __name__ == "__main__":
         app.run(host="0.0.0.0")
    
  • 运行 python run.py 通过 localhost:5000 就可以访问,但是不知道问什么远程却访问不了

1.2 安装 mod_wsgi

1.2.1 yum install mod_wsgi(pip install mod_wsgi)

编写配置文件flask.wsgi

import sys
sys.path.insert(0, "/data/web") #工程根目录,即wsgi文件的路径
from run import app as application

1.3 安装 apache

1.3.1 一般说来直接yum install apache 可以安装,这里说的时apache虚拟主机的配置
  • 找到配置文件的目录 /**/conf/httpd.conf,将以下代码注释去掉
    include conf/extra/httpd-vhosts.conf
    
  • 找到conf/extra/httpd-vhosts.conf
    <VirtualHost *:80>
      ServerName example.com 
      WSGIScriptAlias / /data/web/flask.wsgi
    <Directory /data/web>
      Require all granted
      Require host ip
      Allow from all
    </Directory>
    </VirtualHost>
    
1.3.2 使用命令 locate mod_wsgi,找到mod_wsgi**.so文件,把它copy到apache的modules文件夹下
  • 找到配置文件的目录 /**/conf/httpd.conf,添加以下代码
    LoadModule wsgi_module modules/mode_wsgi**.so
    

1.4 一般来说,通过以上配置访问服务器ip地址,就可以看到Hello Flask

2 为了方便工程管理,在这将工程整理成如下的结构

假如我们的工程目录为 /data/web

+ 根目录 /data/web
  + flask.wsgi
  + app/
    + __init__.py
    + views.py
    + static/
      + css/
      + js/
      + images/
    + templates/
      + index.html
      + base.html

2.1 flask.wsgi 代码

import sys
sys.path.insert(0, "/data/web") #工程根目录,即wsgi文件的路径
from app import app as application

2.2 __init__.py 代码

from flask import Flask
app = Flask(__name__)
from app import views

if __name__ == "__main__":
     app.run(host="0.0.0.0")

2.3 views.py 代码

from app import app
@app.route('\')
def index():
   return "Hello Flask"

2.4 以上为一个工程的基本结构

  apache+flask+mod_wsgi 关于python logging日志使用
  当在python中使用日志模块时,会出现错误的现象:permission denied的问题,  其实归根结底是一个权限的问题,只需要给err.log的添加用户权限即可
  apache 默认的用户组和用户为 daemon:daemon,
  使用 chown +R daemon:daemon err.log

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值