基于香港VPS服务器的Ruby on Rails开发环境配置

Ruby on Rails 是一个强大的Web应用框架,可以帮助开发者快速构建高效的Web应用。在香港VPS服务器上配置Ruby on Rails开发环境需要几个步骤,包括安装依赖、配置数据库以及部署应用程序。本文将详细介绍这些步骤。

 

### 一、准备工作

 

#### 1. 选择和配置VPS

 

确保您有一个运行最新稳定版Ubuntu(例如Ubuntu 20.04)的香港VPS服务器。

 

#### 2. 连接到服务器

 

使用SSH连接到您的香港VPS主机

 

```bash

ssh your_username@your_vps_ip

```

 

### 二、安装依赖

 

#### 1. 更新系统软件包

 

```bash

sudo apt update && sudo apt upgrade -y

```

 

#### 2. 安装RVM(Ruby Version Manager)

 

RVM可以方便地安装和管理多个Ruby版本。

 

```bash

sudo apt install curl gpg -y

\curl -sSL https://get.rvm.io | bash -s stable

source ~/.rvm/scripts/rvm

```

 

#### 3. 安装Ruby

 

安装依赖包:

 

```bash

sudo apt install -y build-essential libssl-dev libreadline-dev zlib1g-dev

```

 

安装Ruby:

 

```bash

rvm install 3.1.0

rvm use 3.1.0 --default

```

 

#### 4. 安装Node.js和Yarn

 

Ruby on Rails需要JavaScript运行环境,Node.js是一个不错的选择。

 

```bash

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -

sudo apt install -y nodejs

 

# 安装Yarn

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -

echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

sudo apt update && sudo apt install yarn -y

```

 

#### 5. 安装数据库(PostgreSQL)

 

虽然Rails支持多种数据库,这里我们以PostgreSQL为例。

 

```bash

sudo apt install postgresql postgresql-contrib libpq-dev -y

```

 

创建数据库用户和数据库:

 

```bash

sudo -u postgres createuser -s your_username

sudo -u postgres createdb your_database_name

```

 

为用户设置密码:

 

```bash

sudo -u postgres psql

ALTER USER your_username WITH PASSWORD 'your_password';

\q

```

 

### 三、安装Rails

 

安装Bundler和Rails:

 

```bash

gem install bundler

gem install rails -v 7.0.0

```

 

### 四、创建Rails项目

 

#### 1. 创建新项目

 

```bash

rails new myapp -d postgresql

cd myapp

```

 

#### 2. 配置数据库

 

编辑 `config/database.yml` 文件,设置数据库用户名和密码:

 

```yaml

default: &default

  adapter: postgresql

  encoding: unicode

  username: your_username

  password: your_password

  host: localhost

 

development:

  <<: *default

  database: myapp_development

 

test:

  <<: *default

  database: myapp_test

 

production:

  <<: *default

  database: myapp_production

  username: myapp

  password: <%= ENV['MYAPP_DATABASE_PASSWORD'] %>

```

 

#### 3. 创建数据库

 

```bash

rails db:create

```

 

### 五、配置Web服务器和反向代理

 

#### 1. 安装和配置Puma

 

Puma是Rails默认的应用服务器。配置已经在`config/puma.rb`中完成。

 

#### 2. 安装和配置Nginx

 

```bash

sudo apt install nginx -y

```

 

创建Nginx虚拟主机配置文件:

 

```bash

sudo nano /etc/nginx/sites-available/myapp

```

 

添加以下内容:

 

```nginx

server {

    listen 80;

    server_name your_domain_or_ip;

 

    root /home/your_username/myapp/public;

 

    passenger_enabled on;

    passenger_ruby /home/your_username/.rbenv/shims/ruby;

 

    location / {

        proxy_pass http://localhost:3000;

        proxy_set_header Host $host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_set_header X-Forwarded-Proto $scheme;

    }

 

    error_page 500 502 503 504 /500.html;

    client_max_body_size 4G;

    keepalive_timeout 10;

}

```

 

启用虚拟主机配置并重启Nginx:

 

```bash

sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/

sudo systemctl restart nginx

```

 

### 六、部署Rails应用

 

#### 1. 启动Rails服务器

 

在开发环境中,您可以使用以下命令启动Rails服务器:

 

```bash

rails s -b 0.0.0.0

```

 

在生产环境中,使用以下命令启动Puma:

 

```bash

RAILS_ENV=production rails s

```

 

### 结论

 

通过以上步骤,您在香港VPS服务器上成功配置了Ruby on Rails开发环境。该环境包括最新版本的Ruby、Rails、PostgreSQL、Node.js、Yarn以及Nginx用于反向代理。希望本教程能帮助您快速构建和部署Rails应用。

超过 50,000 人的信任 网硕互联期待你加入我们的会员。