云服务器

首页 > 网站运行/故障 > 在CENTOS 7服务器上安装RUBY和PASSENGER

在CENTOS 7服务器上安装RUBY和PASSENGER

您需要能够使用 root 权限通过SSH 连接到您的服务器。您还需要基本熟悉vim 或 nano 等BASH 编辑器。这些说明专门针对使用 CentOS 7 的 (mt) Media Temple VPS 客户。始终通过确保所有软件包都是最新的。SSH 到您的服务器并执行以下操作:

yum -y update

1. 安装 RVM

更新完成后,安装 Ruby 版本管理器。RVM 是一种流行的开源包管理器。您可能已经在使用不同的包管理器,例如 Rbenv,它应该可以正常工作。

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 
\curl -sSL https://get.rvm.io | bash -s stable --ruby 
usermod -a -G rvm `whoami`

2. 安装红宝石

RVM 安装完成后安装 Ruby。您可以使用您需要的任何版本,但您可能需要针对特定​​版本,具体取决于您是否已经构建并准备好部署应用程序。

  • 对于最新版本:
rvm 安装红宝石
rvm --默认使用红宝石
  • 对于特定版本,请将“V”替换为您想要的版本号:
rvm install ruby-V.V.V
rvm --default use ruby-V.V.V

3.安装BUNDLER

Bundler 是一个易于使用的 Ruby 应用程序依赖管理器。如果没有 Bundler 或等效工具,您将不得不手动安装每个应用程序依赖项。

gem install bundler --no-rdoc --no-ri

4. 安装 NODE.JS

Ruby on Rails 需要node.js用于其 JavaScript 运行时环境。如果您计划使用 Ruby on Rails,请安装 node.js。

yum install -y epel-release
yum install -y --enablerepo=epel nodejs npm

5.用NGINX安装PASSENGER

这是一个相对简单的过程,但如果您遇到困难,Phusion在他们的网站上有很棒的教程可以帮助您进行故障排除。以下命令将添加 Phusion 的 Yum 存储库,然后下载并安装所需的软件包。乘客使用 Nginx Web 服务器的修改版本。如果您已经在使用其他 Web 服务器(例如 Apache),或者已经安装了 Nginx,则此安装仍然有效。

yum install -y epel-release pygpgme curl
curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo
yum install -y nginx passenger
  • 使用 Vim 或 Nano 等编辑器编辑passenger.conf。
vim /etc/nginx/conf.d/passenger.conf

找到以下几行并删除“#”。乘客的文件表明这些线路可能不存在。如果是这种情况,请将下面未注释的行(删除#)剪切并粘贴到passenger.conf 中。

# passenger_root /some-filename/locations.ini;
# passenger_ruby /usr/bin/ruby;
# passenger_instance_registry_dir /var/run/passenger-instreg;
  • 保存并退出。
  • 重新启动 Nginx Web 服务器。
service nginx restart
  • 通过运行以下命令来测试您的安装:
/usr/bin/passenger-config validate-install 

您应该会收到一份验证安装的打印输出。如果不这样做,请使用说明和出现的任何错误消息来解决问题。您也可以参考Phusion 的文档

* Checking whether this Phusion Passenger install is in PATH... ✓
* Checking whether there are no other Phusion Passenger installations... ✓
  • 更新并重启
yum -y update
yum reboot
图片描述

发表回复