使用京东云服务器时,如何快速搭建Ruby on Rails环境?

在京东云(JD Cloud)服务器上快速搭建 Ruby on Rails 环境,推荐采用 RVM + rbenv(或直接用 rbenv)+ Rails 官方方式,兼顾稳定性与易维护性。以下是经过验证的高效、安全、生产就绪型搭建流程(以 Ubuntu 22.04 LTS 为例,适用于京东云轻量应用服务器或云主机):


✅ 前提条件

  • 已购买并登录京东云服务器(建议选择 Ubuntu 22.04/20.04 或 CentOS 7+/8+;本文以 Ubuntu 22.04 为主)
  • 已通过 SSH 登录(如 ssh root@your-server-ip
  • 确保网络畅通(京东云默认开放 22/80/443,开发阶段需额外放行 3000 端口)

🚀 一键式快速搭建步骤(复制粘贴执行)

# 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 libffi-dev 
  nodejs yarnpkg

# 2. 安装 rbenv(轻量、无侵入、推荐替代 RVM)
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash

# 将 rbenv 加入 shell 配置(适配 bash/zsh)
echo 'export RBENV_ROOT="$HOME/.rbenv"' >> ~/.bashrc
echo 'command -v rbenv >/dev/null || export PATH="$RBENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

# 重载配置(立即生效)
source ~/.bashrc

# 3. 安装 ruby-build 插件(用于编译安装 Ruby)
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

# 4. 安装 Ruby(推荐稳定版,如 3.2.2)
rbenv install 3.2.2
rbenv global 3.2.2

# 验证
ruby -v  # 应输出:ruby 3.2.2p...
gem -v   # 应输出:>= 3.4.x

# 5. 设置国内镜像源(提速 gem 安装,京东云用户强烈推荐!)
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
gem sources -l  # 确认仅剩 https://gems.ruby-china.com/

# 6. 安装 Rails(最新稳定版,如 7.1.x)
gem install rails -v 7.1.3  # 可替换为最新版:`gem list rails --remote | grep -E '^s*railss+(.*)$'`
# ⚠️ 若提示缺少 `bundler`,先执行:gem install bundler

# 7. 验证 Rails
rails -v  # 应输出:Rails 7.1.3

# 8. (可选但推荐)创建首个 Rails 应用测试环境
rails new myapp --skip-bundle
cd myapp
bundle config set --local path 'vendor/bundle'  # 本地 bundle 路径,避免权限问题
bundle install
rails server -b 0.0.0.0:3000  # 绑定所有 IP,便于网络访问

🔐 安全与网络访问关键配置(京东云必备!)

  1. 开放 3000 端口(控制台操作)
    登录 京东云控制台 → 云主机 → 实例详情 → 安全组 → 编辑规则 → 添加入方向规则:

    • 协议:TCP
    • 端口范围:3000
    • 源 IP:0.0.0.0/0(开发测试)或指定 IP(生产建议限制)
  2. 防火墙(UFW)放行(Ubuntu)

    sudo ufw allow 3000
    sudo ufw enable
  3. 启动 Rails 并后台运行(开发测试)

    # 使用 nohup 后台启动(临时方案)
    nohup rails server -b 0.0.0.0:3000 -d &
    # 查看日志:tail -f nohup.out

    生产环境强烈建议使用 Puma + Nginx 反向X_X(非本题重点,但可后续扩展)。


🌐 替代方案(按场景推荐)

场景 推荐方式 说明
极速尝鲜 / CI/CD docker run -p 3000:3000 -v $(pwd):/app -w /app ruby:3.2-slim rails new . --skip-bundle && bundle install && rails s -b 0.0.0.0:3000 无需装环境,秒启,适合测试
CentOS/RHEL 系统 改用 yum install @development-tools + rbenv 流程相同 注意 OpenSSL 版本兼容性(CentOS 7 需升级 openssl11)
需要 PostgreSQL/MySQL sudo apt install postgresql postgresql-contrib libpq-dev(PostgreSQL)或 mysql-server libmysqlclient-dev Rails 默认 SQLite,生产务必换数据库

❗ 常见问题速查

问题 解决方案
rbenv: command not found 检查 ~/.bashrc 是否正确写入,执行 source ~/.bashrc;或改用 ~/.zshrc(若用 zsh)
Failed to build native extension 缺少 -dev 包(如 libsqlite3-dev, libxml2-dev),补全第 1 步依赖
rails: command not found 执行 rbenv rehash,或检查 which rails 是否在 ~/.rbenv/shims/
访问 http://IP:3000 超时 ✅ 检查京东云安全组 + 服务器 UFW/firewalld + Rails 是否监听 0.0.0.0:3000(非 127.0.0.1

✅ 最后建议(京东云优化)

  • 使用 京东云对象存储(JOS) 存储 Rails 的 public/uploads(配合 carrierwaveshrine
  • 日志统一推送到 京东云日志服务(JDCloud Log Service)
  • 生产部署用 京东云容器服务(JDCCS)+ Kubernetes 运行 Rails Pod,自动扩缩容

如需我为你生成:

  • Nginx + Puma + Rails 生产部署脚本
  • Docker Compose(含 Postgres + Redis)一键部署模板
  • 京东云 CLI 自动化部署 Shell 脚本

欢迎随时告诉我 👇 我可立即为你定制!

祝你在京东云上 Rails 开发顺利、丝滑上线!🚀

未经允许不得转载:CLOUD云枢 » 使用京东云服务器时,如何快速搭建Ruby on Rails环境?