在京东云服务器(JD Cloud ECS)上快速搭建 Ruby on Rails 环境,推荐采用 RVM + rbenv(或更推荐 rbenv)+ Rails 官方方式,但为兼顾稳定性与易用性,以下提供 清晰、安全、可复现的标准化流程(基于 Ubuntu 22.04 LTS,适用于京东云主流镜像):
✅ 前提条件
- 已开通京东云 ECS 实例(建议 ≥2GB 内存,避免编译卡顿)
- 操作系统:Ubuntu 22.04 LTS(推荐,兼容性好;若 CentOS 请说明,可提供适配版)
- 已通过 SSH 登录(如
ssh -i your-key.pem ubuntu@your-ip) - 确保网络畅通(京东云默认已配置公网/内网访问)
🚀 一键式快速搭建步骤(全程复制粘贴执行)
# 1. 更新系统 & 安装基础依赖
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git gnupg2 wget build-essential zlib1g-dev
libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3
libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common
libffi-dev nodejs npm
# 2. 安装 rbenv(轻量、无 root 依赖,比 RVM 更干净)
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
# 将 rbenv 加入 shell 配置(适用于 Ubuntu 默认的 ~/.bashrc)
echo 'export RBENV_ROOT="$HOME/.rbenv"' >> ~/.bashrc
echo 'command -v rbenv >/dev/null || export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init - bash)"' >> ~/.bashrc
# 重新加载配置
source ~/.bashrc
# 验证 rbenv 是否生效
rbenv --version # 应输出类似: rbenv 2.3.10
# 3. 安装 Ruby(推荐稳定版 3.2.5 或 3.3.0)
rbenv install 3.2.5
rbenv global 3.2.5
# 验证 Ruby 和 gem
ruby -v # => ruby 3.2.5
gem -v # => 3.4.x+
# 4. 设置国内源(提速 gem 安装,京东云用户强烈推荐!)
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
gem sources -l # 确认仅剩 https://gems.ruby-china.com/
# 5. 安装 Rails(最新稳定版,如 7.1.x)
gem install rails -v 7.1.3 # 可替换为最新版:https://rubygems.org/gems/rails
# ⚠️ 若提示缺少 `nodejs` 或 `yarn`,已前置安装,跳过;否则:
# npm install -g yarn
# 6. 验证 Rails
rails -v # => Rails 7.1.3
# 7. (可选)创建一个测试应用验证环境(5分钟内完成)
rails new myapp --skip-bundle
cd myapp
bundle config set --local path 'vendor/bundle' # 避免权限问题
bundle install
rails server -b 0.0.0.0:3000 # 启动服务(后台运行见下方说明)
🔐 安全与生产就绪补充(京东云特别注意)
| 项目 | 推荐操作 | 说明 |
|---|---|---|
| 防火墙 | sudo ufw allow OpenSSH && sudo ufw allow 3000 && sudo ufw enable |
开放 3000 端口供测试(生产请用 Nginx 反代 + SSL) |
| 域名/公网访问 | 在京东云控制台 → 安全组 → 添加入方向规则:端口 3000(TCP),来源 0.0.0.0/0(测试用,上线后限制 IP) |
⚠️ 生产环境禁止直接暴露 Rails 默认服务器! |
| 生产部署建议 | ✅ 使用 nginx + puma(非 rails server)✅ 数据库用京东云 云数据库 RDS(MySQL/PostgreSQL) ✅ 静态资源托管至 京东云对象存储 JOS |
rails server 仅用于开发/调试 |
💡 进阶提速技巧(京东云用户专属)
- 使用京东云镜像源提速(RubyGems 已配
ruby-china,更快) - 启用 swap(内存 < 2GB 时必要):
sudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile - Rails 新项目跳过 JavaScript 构建(若不用 Webpacker/Vite):
rails new myapp --skip-javascript --skip-hotwire --skip-system-test
❌ 常见问题速查
| 现象 | 解决方案 |
|---|---|
rbenv: command not found |
检查 ~/.bashrc 是否生效 → 执行 source ~/.bashrc 或改用 ~/.profile(Ubuntu 桌面版需注意) |
Permission denied @ dir_s_mkdir(bundle install 报错) |
运行 bundle config set --local path 'vendor/bundle' 后重试 |
rails server 启动后无法网络访问 |
① 检查京东云安全组;② 检查 ufw;③ 启动命令加 -b 0.0.0.0:3000 |
| 编译 Ruby 失败(缺依赖) | 回看第 1 步是否完整执行(尤其 build-essential, libffi-dev, zlib1g-dev) |
✅ 下一步建议
- 🌐 将 Rails 应用部署到京东云:
→ 使用 京东云容器服务 JDCC(Docker + Kubernetes)
→ 或搭配 京东云轻量应用服务器(预装环境更省心) - 📦 生产环境必备:
nginx反向 +puma进程管理 +systemd服务化 + Let’s Encrypt SSL
需要我为你生成:
- ✅ 完整的
nginx + puma生产部署脚本(适配京东云) - ✅ Dockerfile + docker-compose.yml(一键容器化)
- ✅ 连接京东云 RDS PostgreSQL 的 Rails 配置示例
- ✅ 京东云 JOS 对象存储集成(Active Storage)指南
欢迎随时告诉我你的具体场景(如:上线电商站 / 内部管理系统 / API 服务),我会为你定制优化方案 👇
CLOUD技术笔记