当前位置: 首页 > article >正文

在CentOS系统上运行Ruby on Rails应用的详细步骤

以下是AI生成,仅做备份。

1. 安装必要的依赖

在CentOS上,首先要安装一些基础的开发工具和依赖库,它们能确保后续的安装和运行过程顺利进行。

sudo yum update -y
sudo yum install -y git gcc-c++ patch readline readline-devel zlib zlib-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison sqlite-devel

2. 安装Ruby

可以使用rbenv来管理Ruby版本,它能方便地在不同的Ruby版本之间切换。

安装rbenv
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
安装ruby-build插件
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
安装指定版本的Ruby(以3.2.2为例)
rbenv install 3.2.2
rbenv global 3.2.2
验证Ruby安装
ruby -v

3. 安装Bundler和Rails

安装Bundler
gem install bundler
安装Rails
gem install rails
rbenv rehash

4. 上传或克隆Rails应用代码

如果你在本地开发好Rails应用后,可以将代码上传到CentOS服务器。也可以使用Git将代码仓库克隆到服务器上。

git clone <你的代码仓库地址>
cd <你的应用目录>

5. 安装应用依赖

在应用根目录下,使用Bundler安装应用所需的Gem依赖。

bundle install

6. 配置数据库

通常Rails应用会使用数据库,如SQLite、MySQL或PostgreSQL。这里以MySQL为例,介绍如何配置和使用。

安装MySQL
sudo yum install -y mysql-server mysql-devel
sudo systemctl start mysqld
sudo systemctl enable mysqld
创建数据库和用户
mysql -u root -p
CREATE DATABASE <你的数据库名>;
CREATE USER '<你的用户名>'@'localhost' IDENTIFIED BY '<你的密码>';
GRANT ALL PRIVILEGES ON <你的数据库名>.* TO '<你的用户名>'@'localhost';
FLUSH PRIVILEGES;
EXIT;
配置Rails应用的数据库连接

编辑config/database.yml文件,配置数据库连接信息。

development:
  adapter: mysql2
  encoding: utf8
  database: <你的数据库名>
  pool: 5
  username: <你的用户名>
  password: <你的密码>
  host: localhost

7. 迁移数据库

rails db:migrate

8. 预编译资产(可选)

如果你的应用使用了资产管道(如CSS、JavaScript等),可以预编译资产。

rails assets:precompile

9. 运行Rails应用

可以使用Puma作为Web服务器来运行Rails应用。

rails server -b 0.0.0.0 -p 3000

这里的-b 0.0.0.0表示允许从任何IP地址访问应用,-p 3000表示使用3000端口。

10. 配置防火墙

如果服务器启用了防火墙,需要开放3000端口。

sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload

11. 让应用在后台运行

可以使用nohupsystemd来让应用在后台持续运行。

使用nohup
nohup rails server -b 0.0.0.0 -p 3000 &
使用systemd

创建一个systemd服务文件:

sudo nano /etc/systemd/system/rails_app.service

在文件中添加以下内容:

[Unit]
Description=Rails application server
After=network.target

[Service]
Type=simple
User=<你的用户名>
WorkingDirectory=/path/to/your/app
ExecStart=/home/<你的用户名>/.rbenv/shims/rails server -b 0.0.0.0 -p 3000
Restart=always

[Install]
WantedBy=multi-user.target

重新加载systemd管理器配置:

sudo systemctl daemon-reload

启动并设置服务开机自启:

sudo systemctl start rails_app
sudo systemctl enable rails_app

按照以上步骤操作,你就可以在CentOS服务器上成功运行Ruby on Rails应用了。


http://www.kler.cn/a/601158.html

相关文章:

  • 借助可视化,快速洞察数据背后的商机
  • 游戏如何检测GG修改器
  • 英伟达「虚拟轨道+AI调度」专利:开启自动驾驶3.0时代的隐形革命
  • 表单查询、多表查询
  • 3.24前端模拟面试
  • 如何下载 Postman?快速指南!
  • Java 基于微信小程序的开放实验室预约管理系统
  • 诡异的服务重启原因探索
  • (基本常识)C++中const与引用——面试常问
  • 电机倍频曲线的一些奇异特性-原因分析及应用
  • 气膜科技,突破极限:高海拔施工的全新解决方案—轻空间
  • 数据结构每日一题day2(顺序表)★★★★★
  • 一个简单的用C#实现的分布式雪花ID算法
  • Apache Tomcat RCE漏洞(CVE-2025-24813)
  • python 格式化利器
  • 亿级分布式系统架构演进实战(八)- 垂直拆分(领域划分及垂直分库设计)
  • springboot使用netty做TCP客户端
  • Java Collection API增强功能系列之六 改进的 ConcurrentHashMap:归约、搜索、计数与 Set 视图详解
  • [图形学]在半球面上按照微表面模型采样
  • 个人博客系统系统~测试报告