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

在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应用了。

相关文章:

  • Linux安装JDK
  • JavaScript基础-DOM事件流
  • CSS学习笔记
  • MySQL 入门大全:数据类型
  • 题单:排队接水1
  • ORACLE RAC ASM双存储架构下存储部分LUN异常的处理
  • 基于springboot的电影院管理系统(源码+lw+部署文档+讲解),源码可白嫖!
  • 4-Taurus平台 LCD驱动支持DRM框架移植
  • Spring事务失效场景
  • android音频概念解析
  • mybatisplus雪花算法id重复日记
  • PicFlow:一个图片处理与上传工作流工具(图床上传工具)
  • Debian12生产环境配置笔记
  • systemctl restart 和 systemctl reload 和 systemctl daemon-reload 对比 笔记250322
  • SOFABoot-10-聊一聊 sofatboot 的十个问题
  • QEMU 引导时分离内核和文件系统
  • Collectors.toList / list 转 list
  • Netty——BIO、NIO 与 Netty
  • 第十六章:Specialization and Overloading_《C++ Templates》notes
  • ‌App Store美学竞争:如何通过广告素材分析实现ASO弯道超车‌
  • 新剧|《淮水竹亭》明开播:前作扑街,本作能否改命
  • 闲暇时间的“堕落”
  • 中方在IMF发声:美滥施关税威胁全球金融稳定,对新兴市场和发展中国家构成严峻挑战
  • 杨荫凯履新浙江省委常委、组织部部长,曾任中央财办副主任
  • 上海发布一组人事任免信息:钱晓、翁轶丛任市数据局副局长
  • 博物馆有一项活动40岁以上不能参加?馆方回应