Lzq_1010 2019-11-23 16:00 采纳率: 0%
浏览 270

flask、venv、Apache配置问题

按照官网的文档前期已经全部走通了。现在问题是我创建了venv的环境,浏览器访问的时候不走python虚拟的环境,而是走的python公共环境

bash activate_this = '/path/to/venv/bin/activate_this.py'
   with open(activate_this) as file_:
exec(file_.read(), dict(__file__=activate_this))

官网有这么一段配置,我有个疑问, activate_this.py 首先虚拟目录里没有这个文件,如果手动创建了,虽然不报错可是还是不走venv环境。。。

目前新手学习falsk中,求大佬们指指点点,哦不,指点指点

  • 写回答

1条回答 默认 最新

  • ~白+黑 Python领域新星创作者 2024-07-19 10:19
    关注

    首先你在虚拟环境下flask是否可以自己跑通,然后关键应该是apache的配置问题,它来转发请求,

    要配置Apache服务器来托管Flask应用程序,你需要进行以下步骤:
    
        安装Apache和mod_wsgi (如果尚未安装)。
    
        配置Apache虚拟主机。
    
        创建Flask应用程序。
    
    以下是一个基本的配置示例:
    
        安装Apache和mod_wsgi:
    
    sudo apt-get install apache2 libapache2-mod-wsgi-py3
    
        配置虚拟主机:
    
    编辑Apache的虚拟主机配置文件。
    
    sudo nano /etc/apache2/sites-available/your-flask-app.conf
    
    添加以下内容到文件中:
    
    <VirtualHost *:80>
        ServerName your-domain.com
        ServerAlias www.your-domain.com
        WSGIDaemonProcess your-flask-app python-path=/path/to/your/flask/app
        WSGIProcessGroup your-flask-app
        WSGIScriptAlias / /path/to/your/flask/app/your_flask_app.wsgi
        <Directory /path/to/your/flask/app>
            Require all granted
        </Directory>
        DocumentRoot /path/to/your/flask/app/static
        <Location "/static">
            SetHandler None
        </Location>
    </VirtualHost>
    
        创建Flask应用程序:
    
    在你的Flask应用程序目录中创建 your_flask_app.py:
    
    from flask import Flask
    app = Flask(__name__)
     
    @app.route('/')
    def hello_world():
        return 'Hello, World!'
    
    然后创建 WSGI 文件 your_flask_app.wsgi:
    
    activate_this = '/path/to/your/env/bin/activate_this.py'
    with open(activate_this) as file_:
        exec(file_.read(), dict(__file__=activate_this))
     
    import sys
    sys.path.insert(0, '/path/to/your/flask/app')
     
    from your_flask_app import app as application
    
        启用虚拟主机并重启Apache:
    
    sudo a2ensite your-flask-app.conf
    sudo systemctl restart apache2
    
    确保你的Flask应用程序和WSGI文件有正确的权限,并且在Apache配置中指定了正确的路径。
    
    以上步骤配置了Apache作为Flask应用程序的服务器,现在你可以通过浏览器访问配置的域名来查看你的应用程序了。 
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵