如何在CentOS 7/6和Fedora 27/26上使用Nginx和Passenger部署Ruby应用
时间:2019-05-19 01:25:52 来源:igfitidea点击:
Phusion Passenger是一个应用服务器,可以集成到Nginx和Nginx等web服务器中,并允许通过web服务器提供Ruby/Rails应用。
在生产系统上部署Ruby on Rails应用程序是一个不错的选择。
本文将在像CentOS 7/6和Fedora 27/26这样的Linux系统上使用Nginx部署Ruby on Rails应用程序。
我们可以将本教程用于登台部署和生产部署。
首先,我们假设系统已经安装了Ruby。
步骤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和Nginx server。
现在执行下面的命令来为Nginx安装 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;
默认的passenger_ruby将为/usr/bin/ruby设置。
我已经使用RVM将二进制路径更改为自定义安装的Ruby版本。
PassengerRuby /usr/local/rvm/rubies/ruby-2.4.2/bin/ruby
步骤4 -配置Nginx虚拟主机
让我们在Nginx配置文件中配置虚拟主机的域名。
虚拟主机配置示例如下所示。
server { listen 80 default_server; server_name example.com www.example.com; root /var/www/html/public; passenger_enabled on; }
第五步-重启Nginx服务
使用以下命令重新启动Nginx服务。
$ sudo systemctl restart nginx.service