python - 如何让 Flask 在端口 80 上运行?

我有一个通过端口 5000 运行的 Flask 服务器,这很好。我可以通过 http://example.com:5000 访问它

但是是否可以通过 http://example.com 简单地访问它? ?我假设这意味着我必须将端口从 5000 更改为 80。但是当我在 Flask 上尝试时,我在运行它时收到此错误消息。

Traceback (most recent call last):
  File "xxxxxx.py", line 31, in <module>
app.run(host="0.0.0.0", port=int("80"), debug=True)
   File "/usr/local/lib/python2.6/dist-packages/flask/app.py", line 772, in run
run_simple(host, port, self, **options)
  File "/usr/local/lib/python2.6/dist-packages/werkzeug/serving.py", line 706, in run_simple
    test_socket.bind((hostname, port))
  File "<string>", line 1, in bind
socket.error: [Errno 98] Address already in use

运行 lsof -i :80 返回

COMMAND   PID     USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
apache2   467     root    3u  IPv4 92108840      0t0  TCP *:www (LISTEN)
apache2  4413 www-data    3u  IPv4 92108840      0t0  TCP *:www (LISTEN)
apache2 14346 www-data    3u  IPv4 92108840      0t0  TCP *:www (LISTEN)
apache2 14570 www-data    3u  IPv4 92108840      0t0  TCP *:www (LISTEN)
apache2 14571 www-data    3u  IPv4 92108840      0t0  TCP *:www (LISTEN)
apache2 14573 www-data    3u  IPv4 92108840      0t0  TCP *:www (LISTEN)

我需要先杀死这些进程吗?那安全吗?还是有其他方法可以让 Flask 在端口 5000 上运行,但以某种方式重定向主网站域?

最佳答案

1- 停止使用端口 80 的其他应用程序。 2- 使用端口 80 运行应用程序:

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

https://stackoverflow.com/questions/20212894/

相关文章:

linux - tar.gz 和 tgz 是一回事吗?

python - 将字符串转换为 Python 类对象?

linux - 从 linux shell 脚本发送邮件

linux - 设置 Vim 背景颜色

python - 无法安装 Python 包 [SSL : TLSV1_ALERT_PROTOCOL

linux - ~/.ssh/config 文件中的 SSH 端口转发?

python - 为什么 PyPy 没有包含在标准 Python 中?

python - 无法使用 Ctrl-C 终止 Python 脚本

python - 将 Pandas 函数应用于列以创建多个新列?

python - 通过urllib和python下载图片