以下是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: mysql2encoding: utf8database: <你的数据库名>pool: 5username: <你的用户名>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. 让应用在后台运行
可以使用nohup
或systemd
来让应用在后台持续运行。
使用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应用了。