Phusion Passenger是一个应用程序服务器,可以像Apache和Nginx Web服务器那样集成到Web服务器中,并允许通过Web服务器提供Ruby / Rails应用程序。 在生产系统上部署Ruby on Rails应用程序是一个不错的选择。 本文将帮助您在Linux系统(如CentOS 7/6和Fedora 27/26)上使用Nginx来部署Ruby on Rails应用程序。 您可以将本教程用于测试以及生产部署。
首先,我们假设你已经在你的系统上安装了Ruby。 如果您没有安装Ruby,请使用以下URL根据您的应用程序要求进行安装。
第1步 - 安装前提条件首先,启用epel yum版本库并更新系统上的软件包。
$ sudo yum install -y epel-release yum-utils $ sudo yum-config-manager --enable epel $ sudo yum clean all && sudo yum update -y 第2步 - 安装Nginx Passenger模块现在在您的系统上安装rails和passenger gem。 执行以下命令来安装两个gem命令。
$ sudo yum install -y pygpgme curl $ sudo curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo现在使用以下命令将passenger安装在您的系统上。 另外,在您的系统上安装或更新Nginx。
$ sudo yum-config-manager --enable cr && sudo yum install -y nginx passenger 第3步 - 启用Nginx Passenger模块目前,您已经在您的系统上安装了Passenger和Apache服务器。 现在执行下面的命令为Apache安装passenger模块。 该命令将向您显示指导安装,并告诉您安装所有缺少的依赖关系。
$ vim /etc/nginx/conf.d/passenger.conf passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini; passenger_ruby /usr/local/rvm/rubies/ruby-2.4.2/bin/ruby; passenger_instance_registry_dir /var/run/passenger-instreg;将为/usr/bin/ruby设置默认passenger_ruby。 我使用RVM将二进制路径更改为我们自定义安装的Ruby版本。
第4步 - 配置Nginx 虚拟主机让我们用Nginx配置文件中的VirtualHost配置域名。 示例虚拟主机配置如下所示。
server { listen 80 default_server; server_name example.com ; root /var/www/html/public; passenger_enabled on; } 第5步 - 重新启动Nginx服务在Apache配置中添加上面的行后,使用以下命令重新启动Apache服务。
$ sudo systemctl restart nginx.service恭喜! 您已经使用Nginx配置了Ruby on Rails应用程序。
CentOS6.5使用Nginx+Passenger部署Ruby on Rails环境
在Ubuntu 15.04中安装Ruby on Rails
Ubuntu 14.04.4下搭建Ruby On Rails
Ruby on Rails 4 Tutorial 中文版 高清完整PDF
在 Ubuntu 14.04 Server 上安装部署 Ruby on Rails 应用