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

Ruby on Rails部署疑问:Linode服务器访问为何需加端口3000?

问题解答
  • 核心原因:浏览器访问IP时默认使用80端口(HTTP)或443端口(HTTPS),但你启动的Rails开发服务器(默认是Puma)只监听了3000端口,所以必须手动指定端口才能匹配到服务。

临时解决办法(开发环境)

如果只是想在开发阶段不用手动输入端口,可以直接指定Rails服务器监听80端口启动:

rails server --binding=<ip_address> -p 80

注意:80属于系统特权端口,普通用户启动可能需要加上sudo获取权限:

sudo rails server --binding=<ip_address> -p 80

生产环境规范做法(后续部署参考)

如果之后要正式部署站点,不建议直接让Rails监听80/443端口,更稳妥的方式是用反向代理工具(比如Nginx):

  1. 保持Rails服务器监听3000端口(或其他内部端口)
  2. 配置Nginx监听80/443端口,将外部请求转发到Rails的3000端口
    这样既符合安全规范,也能实现直接用IP或域名访问站点的需求。

另外补充:开发环境下用3000端口是Rails的常规操作,没必要特意修改,等进入部署阶段再配置反向代理即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 13:10:36