在 Web 服务器(flask、apache 和 wsgi)上写入文件时出现权限问题

2023-12-12

我正在尝试部署我的第一个网络应用程序,但我对此一无所知。这很有趣,但当我尝试解决问题时,我觉得我不知道自己在做什么。

我在 digital ocean 上创建了一个在 ubuntu 18.04 上运行的服务器,在过去的 2 天里我一直在与它斗争,以使我的网站顺利运行。

我现在觉得结束已近,但我陷入了权限访问问题。

我的应用程序正在通过烧瓶运行。我正在使用 wsgi_mod 和 apache 来运行它。

我已经写下了 2 个可以帮助您的安装文件(我想?)以及错误日志。

我还尝试应用以下修复:

sudo chown -R www-data:www-data /var/www/website.com

须藤 chmod -R 775 /var/www/website.com

我尝试使用 WSGI Daemon 进程运行 wsgi(无论它用于什么用途,都不起作用)。

请帮我 !

如果您需要更多问题,请告诉我。

提前谢谢了 !

错误日志:

Traceback (most recent call last):
File "/var/www/website.com/wsgi/website.com.wsgi", line 10, in <module>
    from __init__ import app as application
File "/var/www/website.com/akb/__init__.py", line 19, in <module>
    flask_session.Session(app)
File "/var/www/website.com/akb/env3.7/lib/python3.6/site-packages/flask_session/__init__.py", line 5$
    self.init_app(app)
File "/var/www/website.com/akb/env3.7/lib/python3.6/site-packages/flask_session/__init__.py", line 6$
    app.session_interface = self._get_interface(app)
File "/var/www/website.com/akb/env3.7/lib/python3.6/site-packages/flask_session/__init__.py", line 9$
    config['SESSION_USE_SIGNER'], config['SESSION_PERMANENT'])
File "/var/www/website.com/akb/env3.7/lib/python3.6/site-packages/flask_session/sessions.py", line 3$
    self.cache = FileSystemCache(cache_dir, threshold=threshold, mode=mode)
File "/var/www/website.com/akb/env3.7/lib/python3.6/site-packages/werkzeug/contrib/cache.py", line 7$
    os.makedirs(self._path)
File "/usr/lib/python3.6/os.py", line 220, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/flask_session'

/var/www/website/wsgi/website.com.wsgi

#!/var/www/website.com/akb/env3.7/bin/python
# -*- coding: utf-8 -*-

import sys
import logging

logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/website.com/akb")

from __init__ import app as application
application.secret_key = 'iuhAqshdad123_&é"_JIHfduh3i123d!!:'

/etc/apache2/sites-available/website.com.conf:

WSGIPythonHome /var/www/website.com/akb/env3.7

<VirtualHost *:80>
    ServerName website.com
    ServerAdmin [email protected]
    ServerAlias www.website.com

    DocumentRoot /var/www/website.com/akb
    <Directory /var/www/website.com/akb>
        <IfVersion < 2.4>
            Order allow,deny,
            Allow from all
        </IfVersion>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
    </Directory>        

    WSGIApplicationGroup %{GLOBAL}

    WSGIScriptAlias / /var/www/website.com/wsgi/website.com.wsgi

    <Directory /var/www/website.com/akb>
        WSGIProcessGroup website.com
        <IfVersion < 2.4>
            Order allow,deny
            Allow from all
        </IfVersion>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
    </Directory>

    Alias /static /var/www/website.com/akb/static
    <Directory /var/www/website.com/akb/static>
        <IfVersion < 2.4>
            Order allow,deny
            Allow from all
        </IfVersion>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
    </Directory>

    Alias /templates /var/www/website.com/akb/templates
    <Directory /var/www/website.com/akb/templates>
        <IfVersion < 2.4>
            Order allow,deny
            Allow from all
        </IfVersion>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
    </Directory>

    ErrorLog /var/www/website.com/errors/error.log
    LogLevel info
    CustomLog /var/www/website.com/errors/access.log combined

我终于解决了这个问题:

  • 通过将 os 目录更改为我的环境之一 (os.chdir)
  • 使用 chown/chmod 授予 www-data 编辑/创建权限
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Web 服务器(flask、apache 和 wsgi)上写入文件时出现权限问题 的相关文章

随机推荐

  • CGPath动画

    我需要一些示例代码 可以在其中对曲线 圆弧路径进行动画处理 该路径应该绘制一个完整的圆作为动画 任何意见将不胜感激 谢谢 星期六 UPDATE 意识到这个问题有更好的解决方案 只需创建一个圆形路径并将 CAShapeLayer 的 stro
  • 不带类型的函数参数声明

    在课堂上 我偶然发现了 Excel 工作表的 VBA 代码 它显示了函数的实现 其中参数尚未声明为任何类型 当它被调用时 一个String被用作该参数 Option Explicit The weird function Function
  • 访问单元格范围的函数

    我不知道如何将单元格范围与函数一起使用 我徒劳地搜索了一些例子 我写了下面的测试 我在两个 for 行上都收到 对象变量未设置 错误 一个没有 RangeAddress 第二个带有它 因为我不确定正确的语法 function CHECKBZ
  • 关于php中带有附件的电子邮件

    任何人都可以帮助我吗 我正在尝试发送一封带有附件的电子邮件 它发送了电子邮件 但电子邮件是以编码格式发送的 我认为问题出在标题上 任何人都可以给我工作代码 我尝试过网上有很多现成的代码所有这些 但没有一个在工作 您可以使用PHPMailer
  • R 中的插补

    我是 R 编程语言的新手 我只是想知道有什么方法可以估算空值只有一列在我们的数据集中 因为我见过的所有插补命令和库都会插补整个数据集的空值 这是一个使用的示例Hmisc包装和impute library Hmisc DF lt data f
  • 将 JSON 对象转换为打印精美的 JSON 的 Angular 2 管道

    尝试编写一个 Angular 2 管道 该管道将获取 JSON 对象字符串并返回漂亮的打印 格式以显示给用户 例如 需要这样 id 1 号码 K3483483344 州 CA 活跃 真实 并返回在 HTML 中显示时看起来像这样的内容 所以
  • 如何使用 PHP 让浏览器缓存图像?

    我对如何缓存图像完全陌生 我使用 PHP 输出图库中的所有图像 并希望已显示的图像由浏览器缓存 因此 PHP 脚本不必再次输出相同的图像 我想要的只是图像显示得更快 当调用图像时我喜欢这样 img src showImage php id
  • 根据列中的值与列表中的值匹配来选择 SQL 数据库中的行

    我有一个包含大约 140 万行的表 我想编写一个 sql select 语句 返回列表中第一列 唯一的 id 中存在的所有行 该列表可以包含 1 到 50k 个 ID 并且在每次运行脚本时生成 并且每次都可能不同 根据此列表中的 id 编号
  • Netbeans 8.2 CSS 网格警告和错误

    我收到有关以下规则的警告和错误 data display grid grid column gap 20px grid row gap 10px grid template columns label 150px field 1fr 警告位
  • 如何启用离子多点触控事件

    我正在开发一个简单的离子应用程序 该应用程序的一部分要求您同时按下两个按钮 我这样构建了这个逻辑 a class icon ion qr scanner lg txt a a class icon ion qr scanner lg txt
  • 如何使用 oracle 管理自动备份?

    我正在关注来自的教程甲骨文文档 我发现管理备份 恢复过程的首选方法是使用 RMAN 我已经开始练习它 我的意思是 通过 sql plus cli 但我真的不知道如何使该过程自动化 然后我看到在 sql Developer dba 面板中 有
  • 在对象上找不到参数 [com.android.support:appcompat-v7:25.4.0] 的方法实现()...android

    我必须编译一个在线购买的项目 将其导入 android studio 时 它抱怨 gradle 版本 所以我将 distributionUrl 更新为这个distributionUrl https services gradle org d
  • 如何在两个div之间画一条线?

    我目前正在尝试在一个 div 的右下角到另一个 div 的右上角之间绘制一条对角线 如果可能的话 我想不用 jQuery 来完成它 这可能吗 http jsfiddle net cnmsc1tm 由于 CSS 限制 这不适用于 IE8 或更
  • 删除 jQuery Mobile 滑块控件中的文本框

    我正在使用这个 JQM 链接 我在分区中使用了滑块 在旧版本中我使用了属性 class ui hidden accessible 因为没有在滑块旁边显示文本框 但在此
  • 调试 Arm neon 代码中的数据/neon 性能危害

    最初 当我尝试时出现了问题优化算法根据 Profiler 的数据 Neon Arm 和其中的一小部分占据了 80 我尝试测试看看可以采取哪些措施来改进它 为此我创建了指向优化函数的不同版本的函数指针数组 然后在循环中运行它们以在探查器中查看
  • 如何使用个人 Microsoft 帐户通过 Azure AD 多租户应用程序访问 AzureRM?

    我的目标很简单 使用 Azure AD 多租户应用程序能够调用其他租户上的 Azure 资源管理器 API 但是 当您使用个人 Microsoft 帐户登录时 我不知道如何执行此操作 I created an Azure AD multi
  • 如何在 Django 中设置 PostgreSQL 数据库

    我是 Python 和 Django 新手 我正在使用 PostgreSQL 数据库引擎后端配置 Django 项目 但每个数据库操作都会出现错误 例如当我跑步时manage py syncdb 我越来越 C xampp htdocs dj
  • 为什么使用 register_shutdown_function() 时我的“关闭回调”无效?

    警告 register shutdown function 无效的关闭回调 trait ErrorTrait public function shutDownFunction error error get last fatal error
  • 将数组与条件合并

    我想合并具有特定条件的两个数组并更新它们包含的对象 首先是我的数组中的结构 struct Item var id Int var name String var value Int 两个数组的第二个元素 let fisrt Item id
  • 在 Web 服务器(flask、apache 和 wsgi)上写入文件时出现权限问题

    我正在尝试部署我的第一个网络应用程序 但我对此一无所知 这很有趣 但当我尝试解决问题时 我觉得我不知道自己在做什么 我在 digital ocean 上创建了一个在 ubuntu 18 04 上运行的服务器 在过去的 2 天里我一直在与它斗