You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Digital Ocean上运行uWSGI快速入门的Hello World程序?

排查uWSGI基础服务无法外部访问的常见原因
  • 检查uWSGI的监听绑定地址
    默认情况下uWSGI可能仅绑定127.0.0.1,仅允许本地访问,外部无法连接。启动时需明确指定监听所有网卡:执行uwsgi --http 0.0.0.0:9090 --wsgi-file foobar.py,确保服务监听服务器的公网/内网网卡。可通过命令netstat -tulpn | grep 9090或ss -tulpn | grep 9090查看端口监听地址,若显示127.0.0.1:9090,则需调整启动参数。

  • 验证防火墙与安全组规则
    服务器本地防火墙(如firewalld、iptables)或云服务商安全组可能未开放9090端口的入站权限:

    • 本地防火墙检查:执行firewall-cmd --list-ports(firewalld环境)或iptables -L -n(iptables环境),确认9090/TCP端口的入站规则已放行。
    • 云安全组检查:登录云服务商控制台,为目标服务器的安全组添加允许外部访问9090端口的规则(来源可设为0.0.0.0/0或指定IP范围)。
  • 本地测试服务可用性
    在服务器本地执行curl http://127.0.0.1:9090,若能返回Hello World内容,说明uWSGI服务本身正常,问题出在外部网络链路;若本地也无法访问,需检查:

    • foobar.py文件内容是否正确:
      def application(env, start_response):
          start_response('200 OK', [('Content-Type','text/html')])
          return [b"Hello World"]
      
    • 启动命令是否正确:确认使用的是对应虚拟环境内的uWSGI(若用了虚拟环境),避免全局uWSGI导致依赖异常。
  • 确认端口未被占用
    即使启动日志无报错,9090端口也可能被其他进程占用,导致uWSGI未成功监听。执行lsof -i :9090查看端口占用情况,若有其他进程占用,可终止该进程或更换端口启动uWSGI。

内容的提问来源于stack exchange,提问作者Dallas Caley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 02:45:31