在Ubuntu上安装Rails和nginx与Passenger的方法
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。
介绍
Ruby on Rails 是一个应用程序堆栈,为 web 开发人员提供了一个快速创建各种 web 应用程序的框架,而 nginx 是一个轻量级、高性能的 web 服务器软件。当通过 Phusion Passenger 在虚拟专用服务器上安装时,这两个程序可以很容易地配置在一起运行。
您可以以具有 sudo 特权的用户身份在 VPS 上运行本教程。您可以在这里查看如何设置:Ubuntu 服务器设置
第一步—使用 RVM 安装 Ruby
在做任何其他操作之前,我们应该快速更新一下,以确保我们下载到虚拟服务器上的所有软件包都是最新的:
sudo apt-get update
完成后,我们可以开始在我们的 VPS 上安装 RVM(Ruby Version Manager)。这是一个很棒的程序,可以让您在一个系统上使用多个 Ruby 版本;但是,在这种情况下,我们将只使用它来安装 droplet 上的最新版本的 Ruby。
要安装 RVM,请打开终端并输入以下命令:
curl -L get.rvm.io | bash -s stable
安装完成后,加载 RVM。
source ~/.rvm/scripts/rvm
为了正常工作,RVM 有一些自己的依赖项需要安装。您可以查看这些依赖项:
rvm requirements
在 RVM 显示给您的文本中,找到这段话:
附加依赖项:
# 对于 Ruby / Ruby HEAD(MRI、Rubinius 和 REE),安装以下内容:ruby: /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
只需按照说明更新系统的所有必需依赖项。
rvmsudo /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
第二步—安装 Ruby
一旦您使用了 RVM,安装 Ruby 就很容易了。
rvm install 1.9.3
Ruby 现在已安装。但是,由于我们是通过一个具有多个 Ruby 版本的程序访问它的,我们需要告诉系统默认使用 1.9.3。
rvm use 1.9.3 --default
第三步—安装 RubyGems
下一步是确保我们拥有 Ruby on Rails 的所有必需组件。我们可以继续使用 RVM 安装 gems;在终端中输入以下命令。
rvm rubygems current
第四步—安装 Rails
一切准备就绪后,是时候安装 Rails 了。
首先,打开终端并输入:
gem install rails
这个过程可能需要一些时间,请耐心等待。一旦完成,您将在虚拟服务器上安装了 Ruby on Rails。
一旦完成,您就可以使用 Ruby on Rails 了,现在是时候将其连接到 nginx 了。
第五步—安装 Passenger
Passenger 是在 nginx 或 apache 上部署 Rails 的一种有效且简单的方式。在这种情况下,我们将运行 nginx 安装。
安装 Ruby on Rails 后,继续安装 passenger。
gem install passenger
第六步—安装 nginx
这就是 Passenger 真正发光的地方。因为我们希望在 nginx 服务器上安装 Rails,我们只需要在终端中输入一行命令:
rvmsudo passenger-install-nginx-module
现在 Passenger 接管了。
Passenger 首先检查是否安装了其工作所需的所有依赖项。如果您缺少任何依赖项,Passenger 将告诉您如何使用 Ubuntu 上的 apt-get 安装它们。
下载任何缺少的依赖项后,重新启动安装。再次在命令行中键入:passenger-install-nginx-module。
Passenger 为用户提供了自动设置或自定义设置之间的选择。按 1 并按 Enter 选择推荐的、简单的安装。
第七步—启动 nginx
Passenger 大约需要五到十分钟来安装、配置和优化带有 Ruby on Rails 的 nginx。
完成后,它将告诉您有关对 nginx 配置文件所做的更改以及如何在虚拟服务器上部署 Ruby on Rails 应用程序。
最后一步是启动 nginx,因为它不会自动启动。
sudo service nginx start
nginx 现在已启动。如果将浏览器指向 http://youripaddress/,您将在其中看到令人兴奋的“Welcome to nginx”屏幕。
第八步—将 Nginx 连接到您的 Rails 项目
一旦安装了 Rails,请打开 nginx 配置文件
sudo nano /opt/nginx/conf/nginx.conf
将根目录设置为您的新 Rails 项目的 public 目录。
然后,您的配置应该看起来像这样:
server {
listen 80;
server_name example.com;
passenger_enabled on;
root /var/www/my_awesome_rails_app/public;
}
(*注意:要创建新的 Rails 项目,请按照以下步骤进行:
- 如果尚未安装 NodeJs,请安装:
sudo apt-get install nodejs
- 在您喜欢的目录中创建新的 Rails 应用程序:
rails new my_awesome_rails_app
)