gpt4 book ai didi

python - 操作系统错误 : [Errno 98] Address already in use Running Flask Application on Apache2

转载 作者:行者123 更新时间:2023-12-03 16:55:12 24 4
gpt4 key购买 nike

我的 flask 代码在 应用程序.py

/some code//


if __name__ == '__main__':
app.run()

我已经设置了我的 wsgi 文件 如路径 /var/www/AutomateTests
#!/usr/bin/python3.6


import sys
import logging

sys.path.insert(0,"/var/www/AutomateTests/")

from app import app as application
application.root_path = '/var/www/AutomateTests/'

我有 /etc/apache2/sites-available/automate_tests.conf
VirtualHost *:80>
ServerName htstool.arubanetworks.com
ServerAdmin admin@htstool.arubanetworks.com
ServerAlias htstool.arubanetworks.com
ErrorLog /var/log/apache2/hts-error.log
CustomLog /var/log/apache2/htstool-access.log combined
WSGIDaemonProcess AutomateTests user=www-data group=www-data threads=5
WSGIScriptAlias / /var/www/AutomateTests/automate_tests.wsgi
<Directory /var/www/AutomateTests>
WSGIProcessGroup AutomateTests
WSGIApplicationGroup %{GLOBAL}
Order allow,deny
Allow from all
</Directory>
LogLevel info
</VirtualHost>

我已经正确设置了所有内容,并且我已经被这个问题困扰了好几个星期了。有人可以帮助我如何在服务器上启动它。有没有我遗漏的步骤。

我设置了与我的端口相同的错误,尽管它不是!
查看我的错误图片

enter image description here

但是你可以看到我的端口是空的,没有被使用。我检查使用命令 netstat -ntlp
see my ports are listening and not established

有人可以请帮助我。我被卡住了,在完全检查之前不要将其标记为已回答。我已经尝试了所有答案,但它们不起作用!请耐心等待,让别人帮助我,因为我自己做不到。

我的服务器运行良好,我看到了默认的 ubuntu 页面,这意味着我的 apache2 服务器运行良好,因此配置或端口有问题

最佳答案

当我看到这个时,我想到了两件事。

  • 您是否在服务器上安装并运行了 Apache? Apache 可能正在监听端口 80 并阻止您的 Python 脚本绑定(bind)到该端口,但是您运行 netcat 的方式不会显示这一点。您可以在 [sever_ip]:80 查看。

    But as you can see my ports are empty and not being used. I check that using the command netstat -ntlp


  • 注意该命令的第一行输出: (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Apache 以提升的权限运行,因此您需要以 root 身份运行(将 sudo 附加到命令的开头)才能查看其端口绑定(bind)。我敢打赌,这就是问题所在。解决此问题后,您可能会遇到以下问题:
  • 您是否以 root 身份运行脚本?在 Linux 上,您需要使用 sudo 绑定(bind)到端口 0 到 1024(如 here 所述)。

  • 还有一件事,与脚本无关,但看起来您在屏幕截图中使用的是 AWS EC2(如果我错了,请纠正我)。如果您希望能够从公共(public) Internet 访问端口 80 上的实例,您需要确保 allow it in the Security Group .我知道这可能会给第一次使用 AWS EC2 的人带来一些困惑,这对我来说确实如此。

    希望这可以帮助!

    关于python - 操作系统错误 : [Errno 98] Address already in use Running Flask Application on Apache2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58053843/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com