Ruby on Rails 部署到阿里巴巴 ECS 后无法加载

Posted

技术标签:

【中文标题】Ruby on Rails 部署到阿里巴巴 ECS 后无法加载【英文标题】:Ruby on Rails can't load after deploy to Alibaba ECS 【发布时间】:2021-11-02 10:21:18 【问题描述】:

我刚开始部署到服务器,我正在尝试将我的 Ruby on Rails 项目部署到阿里巴巴 ECS,我已完成部署,但是当我尝试访问我的 ECS 公共 IP 时出现错误“连接已计时”出去'。我正在尝试使用http://localhost 从 ECS 卷曲,它返回项目 html(这意味着部署成功,但公共 IP 的配置可能有问题)。我正在尝试从命令提示符 ping 我的公共 IP,它是成功的。有谁知道有什么问题?谢谢。

SS 尝试从浏览器访问:

从其他计算机 CMD ping :

来自阿里巴巴 ECS 的 CURL:

这是我的 nginx 设置:

server 
  listen 80;
  listen [::]:80;

  server_name 47.254.214.231;
  root /home/deploy/livechat/current/public;

  passenger_enabled on;
  passenger_app_env production;

  location /cable 
    passenger_app_group_name livechat_websocket;
    passenger_force_max_concurrent_requests_per_process 0;
  

  # Allow uploads up to 100MB in size
  client_max_body_size 100m;

  location ~ ^/(assets|packs) 
    expires max;
    gzip_static on;
  

【问题讨论】:

【参考方案1】:

将端口 80/tcp 添加到您的安全组入站规则。

【讨论】:

@KevinJaydenWivano 我可以看到端口 80 尚未打开。您的 ECS 上是否启用了防火墙?如果是这样,您可以打开端口 80 或禁用防火墙(您仍然受到安全组的保护,所以不用担心)。

以上是关于Ruby on Rails 部署到阿里巴巴 ECS 后无法加载的主要内容,如果未能解决你的问题,请参考以下文章

部署后缺少宝石(Ruby,Ruby on Rails,Capistrano)

使用适用于Ruby on Rails的AWS CI / CI流程进行部署

Amazon ElasticBeanstalk 上的 Ruby on Rails 部署:签名过期错误

使用 Capistrano 将 Ruby on Rails 应用程序部署到 Windows Azure VM 时出现超时错误

Magnific Popup Lightbox 在 Ruby on Rails 开发中有效,但在部署到 Heroku 时无效

阿里云ECS+CentOS 7.0+Docker+Redmine环境搭建