交个朋友,长个技能🥎🤸🏼‍♂️

新概念3

安装了宝塔还能安装ruby on rails?

安装了宝塔还能安装ruby on rails?

安装了宝塔面板后,仍然可以安装 Ruby on Rails。宝塔面板是一个用于管理服务器的可视化面板,它主要提供网站管理、服务器监控、文件管理等功能,本身不会对安装 Ruby on Rails 造成直接阻碍,以下是安装步骤:

1. 准备工作

如果你已经安装了宝塔面板,要保证服务器上已经安装了必要的编译工具,可通过 SSH 登录服务器,在终端执行以下命令:

bash

# 对于 CentOS 系统
yum groupinstall "Development Tools" -y
yum install -y openssl-devel libyaml-devel libffi-devel readline-devel zlib-devel gdbm-devel ncurses-devel sqlite-devel

# 对于 Ubuntu/Debian 系统
sudo apt update
sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev sqlite3

2. 安装 Ruby

可以借助rbenv来管理 Ruby 版本,以下是安装步骤:

bash

# 克隆 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

3. 安装 Bundler

Bundler 可用于管理 Ruby 项目的依赖,执行以下命令进行安装:

bash

gem install bundler

4. 安装 Rails

使用以下命令安装 Rails:

bash

gem install rails
rbenv rehash

5. 验证安装

使用以下命令验证 Ruby 和 Rails 是否安装成功:

bash

ruby -v
rails -v

6. 配置 Nginx 或 Apache(可选)

如果要让 Rails 应用通过域名或 IP 地址访问,需要配置 Web 服务器。你可以在宝塔面板里添加站点,然后进行相应的配置。

  • Nginx 配置示例

nginx

server {
    listen 80;
    server_name your_domain_or_ip;

    root /path/to/your/rails/app/public;
    passenger_enabled on;
    passenger_ruby /home/your_user/.rbenv/shims/ruby;

    location / {
        try_files $uri @app;
    }

    location @app {
        passenger_app_root /path/to/your/rails/app;
        passenger_document_root /path/to/your/rails/app/public;
        passenger_base_uri /;
        passenger_app_env production;
        passenger_spawn_method smart;
        passenger_max_instances_per_app 4;
        passenger_min_instances 1;
    }
}

7. 创建并运行 Rails 应用

bash

rails new myapp
cd myapp
rails server -b 0.0.0.0

在上述步骤中,要根据实际情况调整服务器系统、Ruby 版本、项目路径和域名等信息。若在安装过程中遇到问题,可以查看错误信息或进一步咨询。

发表评论