尝试使用 mod_wsgi 设置 Flask

2024-02-22

我正在尝试设置烧瓶mod_wsgi但我不断收到以下错误

(13)Permission denied: access to / denied (filesystem path '/home/ec2-user/myapp') because search permissions are missing on a component of the path

test 是 Fl​​ask 应用程序中的有效路径。
这是我的myapp.conf文件在/etc/httpd/conf.d folder

WSGIRestrictStdout Off
<VirtualHost *>
    ServerName somewhere.compute-1.amazonaws.com

    WSGIDaemonProcess flaskapp user=ec2-user group=ec2-user threads=5
    WSGIScriptAlias / /home/ec2-user/myapp/myapp.wsgi

    <Directory /home/ec2-user/myapp>
        WSGIProcessGroup flaskapp
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
    LogLevel notice
</VirtualHost>

This is Apache/2.2.26 with python 2.6.8
我没有使用 virtualenv。

当我启动 apache 时,我在 error_log 中看到了这一点

[Mon Feb 10 14:33:00 2014] [notice] Apache/2.2.26 (Unix) DAV/2 mod_wsgi/3.2 Python/2.6.8 configured -- resuming normal operations

这是我的myapp.wsgi file

from flask import Flask
application = Flask(__name__)

@application.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    application.run(host='0.0.0.0', port=80)

运行只是python myapp.wsgi工作正常

该错误似乎告诉我应该更改某些文件夹的某些权限,但我不知道哪个文件夹。


您应该查看 Apache 文档13PermissionDenied http://wiki.apache.org/httpd/13PermissionDenied并确保您为文件夹设置了正确的权限。

chmod 755 /home/ec2-user/myapp/

你也可以:

cd /home/ec2-user/
ls -la 

这将输出每个文件和所有者:文件夹的每个用户组的组和权限。寻找任何不寻常的东西。

来自WSGIDaemonProcess 文档 https://modwsgi.readthedocs.org/en/latest/configuration-directives/WSGIDaemonProcess.html:

用户=姓名 |用户=#uid.rst

定义运行守护进程的用户的 UNIX 用户名或数字用户 uid。如果未提供此选项,则守护进程将以 Apache 运行子进程的相同用户身份运行,并由 User 指令定义。

请注意,如果 Apache 不是作为 root 用户启动的,则该选项将被忽略,在这种情况下,无论设置如何,守护进程都会以 Apache 启动时的用户身份运行。

如果您正在运行您的用户apache它不会运行为ec2-userapache用户必须有权访问所有子目录及其包含的文件夹/home/ec2-user/.

你可以搬到/var/www/, chown给用户apache并从那里运行,这样您就不必移动ec2-user的主目录。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试使用 mod_wsgi 设置 Flask 的相关文章

  • Flask_login - 当前用户

    我正在使用烧瓶登录我的烧瓶应用程序中的扩展用于登录用户 您必须知道 此扩展有一个变量 用于存储当前用户 除了测试之外 该代码运行良好 当我测试代码时 使用unittest 我注册了一个 测试用户 并登录 但是当前用户变量不保留登录的用户 这
  • 如何生成给定范围内的回文数列表?

    假设范围是 1 X 120 这是我尝试过的 gt gt gt def isPalindrome s check if a number is a Palindrome s str s return s s 1 gt gt gt def ge
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • feedparser 在脚本运行期间失败,但无法在交互式 python 控制台中重现

    当我运行 eclipse 或在 iPython 中运行脚本时 它失败了 ascii codec can t decode byte 0xe2 in position 32 ordinal not in range 128 我不知道为什么 但
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • Pandas Dataframe 中 bool 值的条件前向填充

    问题 如何转发 fill boolTruepandas 数据框中的值 如果是当天的第一个条目 True 到一天结束时 请参阅以下示例和所需的输出 Data import pandas as pd import numpy as np df
  • 通过数据框与函数进行交互

    如果我有这样的日期框架 氮 EG 00 04 NEG 04 08 NEG 08 12 NEG 12 16 NEG 16 20 NEG 20 24 datum von 2017 10 12 21 69 15 36 0 87 1 42 0 76
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • 检查所有值是否作为字典中的键存在

    我有一个值列表和一本字典 我想确保列表中的每个值都作为字典中的键存在 目前我正在使用两组来确定字典中是否存在任何值 unmapped set foo set bar keys 有没有更Pythonic的方法来测试这个 感觉有点像黑客 您的方
  • 在python中,如何仅搜索所选子字符串之前的一个单词

    给定文本文件中的长行列表 我只想返回紧邻其前面的子字符串 例如单词狗 描述狗的单词 例如 假设有这些行包含狗 hotdog big dog is dogged dog spy with my dog brown dogs 在这种情况下 期望
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 您可以在 Python 类型注释中指定方差吗?

    你能发现下面代码中的错误吗 米皮不能 from typing import Dict Any def add items d Dict str Any gt None d foo 5 d Dict str str add items d f
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数

随机推荐

  • NSFetchedResultsController 在 objectAtIndexPath 上崩溃?

    我在尝试访问以下对象时发生崩溃NSFetchedResultsController 2013 11 10 15 15 06 568 Social 11503 70b CoreData error Serious application er
  • 在 C#.NET 中动态转换为类型

    替代标题 在运行时动态转换为类型 我想将对象转换为将在运行时分配的类型 例如 假设我有一个分配字符串值的函数 来自TextBox or Dropdownlist to an Object Property 我如何将值转换为正确的类型 例如
  • 如何设置包装给定函数的函数的类型

    我正在做一个简单的memoize函数 它的作用是接受一个函数 并在缓存返回结果的地方做一些魔法 但基本上返回函数的类型memoize与给定的完全相同 但我遇到了错误 我不知道如何修复 当使用该函数并忽略我遇到的错误时 这些类型可以工作 我已
  • 用户代理字符串可以有多大?

    如果您要将用户代理存储在数据库中 您会容纳多大的数据库 我找到了这个技术网文章 http technet microsoft com en us library bb496341 aspx建议将 UA 保持在 200 以下 HTTP 规范中
  • PHP base64_decode C# 等效项

    我正在尝试模仿执行以下操作的 php 脚本 用 号替换 GET 变量的每个空格 var preg replace s GET var 解码为 Base64 base64 decode var 首先我添加了一个执行 Base64 解码的方法
  • 无符号整数取负值[重复]

    这个问题在这里已经有答案了 有人可以解释为什么 unsigned int 取负值吗 一个unsigned int应该只取正值 From 维基百科 http en wikipedia org wiki Integer 28computer s
  • 更改 nginx 工作进程运行的用户(Ubuntu 12.04)

    我在 Ubuntu 12 04 上手动安装了 nginx 当我跑的时候 configure我使用了以下选项 configure user www data group www data with http ssl module with h
  • 如何将此 csv 数据转换为条形图?

    旅游 旅游名称 开始 开始时的可用预订 结束 剩余预订量 csv 文件列 ID Tour Start End 12345 Italy 100 80 13579 China 50 30 24680 France 50 30 到目前为止我有这个
  • Ruby——寻找某种“Regexp unescape”方法

    我有一堆带有特殊转义代码的字符串 我想存储未转义的代码 例如 解释器显示 014 000 016smoothing 011mean 022color 011zero 016 但我希望它显示 检查时 为 014 000 016smoothin
  • 为了使用 Scrapy 正确发送电子邮件,我忘记了什么

    我想使用 Scrapy 发送电子邮件 我看了 throw 官网 发现可以这样做 from scrapy mail import MailSender from scrapy utils project import get project
  • 如何返回我在嵌套数组中查找的元素?

    我有一个这样的数据库 universe comics saga name x men characters character wolverine picture 618035022351 png character cyclops pic
  • Python 自由变量。为什么会失败?

    以下代码打印 123 gt gt gt a 123 gt gt gt def f print a gt gt gt f 123 gt gt gt 但以下失败 gt gt gt a 123 gt gt gt def f print a a 4
  • 比较内部消息传递的两种数据库设计

    以下哪种数据库设计更适合内部消息系统 三张表 MessageThread models Model subject timestamp creator Message models Model thread pk content times
  • 从右到左数据网格视图单元格

    如何将属性从右到左设置为 Datagridview 单元格 我尝试设置 Alignment 属性为 MiddleRight 但由于我的 DatagridviewCell 值为 阿拉伯语和英语没有按照我想要的从右到左显示 我找到了一个带有 C
  • 限制后获取另一个订单

    想象一下 我有一个表 用户 其中包含两个字段 年龄 和 姓名 我想检索前十名老用户 然后我希望这十个用户的列表按名称排序 可以用MySQL来做吗 我试过这个 不起作用 SELECT FROM users order by age name
  • 将元素与窗口底部对齐,但允许滚动到下方的内容

    我现在正在编写一个 jquery 滑块 并将宽度设置为 100 并且无论窗口如何调整大小 我都希望它与窗口底部对齐 我已经找到了让它在向下滚动时一直粘在底部的方法 但我不希望这样 我希望能够滚动到此滑块下方以获取更多内容 这个网站展示了我正
  • 如何让 CSS 文本装饰覆盖起作用?

    有些日子我发誓我要疯了 这是那些日子之一 我认为我的 CSS 在这里相当简单 但它似乎不起作用 我缺少什么 我的 CSS 看起来像这样 ul gt li text decoration none ul gt li u text decora
  • Cocoa:为什么我的表格视图是空白的?

    为什么我的表格视图是空白的 一切都很好 直到我添加 initWithStyle 它看起来是这样的 这是我的代码的样子 这是我的 h import
  • 带有 NestedScrollView 的 CoordinatorLayout 不会通过 adjustmentResize 调整大小

    我有一个view其中包含一个CoordinatorLayout其中包含一个AppBarLayout and a NestedScrollView 在 的里面NestedScrollView有一个EditText 我在显示软输入键盘并正确调整
  • 尝试使用 mod_wsgi 设置 Flask

    我正在尝试设置烧瓶mod wsgi但我不断收到以下错误 13 Permission denied access to denied filesystem path home ec2 user myapp because search per