如何在Ubuntu和Debian上使用Nginx和Passenger部署Ruby应用
时间:2019-05-19 01:25:53 来源:igfitidea点击:
Phusion Passenger是一个应用服务器,可以集成到Apache和Nginx等web服务器中,并允许通过web服务器提供Ruby/Rails应用。
在生产系统上部署Ruby on Rails应用程序是一个不错的选择。
本文将在像Ubuntu和Debian这样的Linux系统上使用Nginx部署Ruby应用程序。
首先,我们假设系统已经安装了Ruby。
步骤1 -准备工作
首先,启用Apt存储库的HTTPS支持,并在系统上安装Passenger包的PGP密钥。
sudo apt-get install -y dirmngr gnupg sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7 sudo apt-get install -y apt-transport-https ca-certificates
然后,将Passenger存储库引用添加到以下文件。
' lsb_release -cs '将设置操作系统的代号。
我们还可以手动更改此设置并设置代号。
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger `lsb_release -cs` main > /etc/apt/sources.list.d/passenger.list'
步骤2 -安装 Nginx Passenger 模块
现在在系统上安装passenger模块和Nginx。
如果你已经安装了Nginx,这将安装Passenger库中最新的Nginx包。
$ sudo apt-get install -y nginx-extras passenger
编辑Nginx配置文件/etc/nginx/nginx.conf,取消 include /etc/nginx/passenger.conf;这行注释。
步骤3 -创建Nginx虚拟主机
现在,我们可以在这个服务器上部署Ruby/Rails应用程序了。
创建一个Nginx配置文件,并配置虚拟主机。
$ vim /etc/nginx/conf.d/example.com.conf
server { listen 80 default_server; server_name example.com www.example.com; root /path-to-ruby-app/public; passenger_enabled on; }
步骤4 -验证设置并重启Nginx
执行以下命令以验证系统上的Passenger安装。
所有检查都要通过。
$ sudo /usr/bin/passenger-config validate-install
What would you like to validate? Use <space> to select. If the menu doesnt display correctly, press ! ‣ ⬢ Passenger itself ⬡ Apache ------------------------------------------------------------------------- * Checking whether this Passenger install is in PATH... ✓ * Checking whether there are no other Passenger installations... ✓ Everything looks good. :-)
最后,重新启动Nginx web服务器,使配置文件的更改生效。
$ sudo systemctl restart nginx.service