在 CentOS 7 上使用带有 cPanel 的乘客

Phusion Passenger 是一个 Web 应用程序服务器,可以在您的 Web 服务器上运行 Ruby、Node.js 和 Python 应用程序。 它与两者集成 Apache 和 Nginx 为您的访问者提供内容。 从历史上看,这个应用程序很难与 cPanel 服务器集成,它将 Ruby 应用程序的强大功能与 cPanel 提供的易于管理相结合,但最近的进步使得在 VPS 服务器和专用服务器上设置您的乘客模块非常简单服务器。 这个简单的演练将向您展示如何添加乘客, Apache mod_passenger,以及支持 Ruby 安装到 cPanel。

使用 Apache 和 Phusion Passenger 在您的 cPanel 服务器上托管 Ruby 站点

对于这个安装,我们将使用带有 cPanel 的 CentOS 7 VPS,并且我们通过 SSH 连接。

  1. 首先,我们必须确保我们使用的是 WHM 58 中提供的 EasyApache 4。如果您没有运行 WHM 58 或更高版本,我们建议升级到最新可用的“发布”层版本,以确保您获得大部分来自您的网络服务器。
  2. 从服务器的命令行以 root 身份,您可以检查是否存在空白文件“/etc/cpanel/ea4/is_ea4”,以查看您的系统是否正在运行 EasyApache 4。如果该文件不存在,您将需要从 EasyApache 3 升级。
    ls /etc/cpanel/ea4/is_ea4
  3. 一旦您确定您的服务器正在使用 EasyApache 4,下一步就是将 mod_passenger 选项添加到您的 EasyApache 4 配置中。 从命令行,您可以使用 YUM 安装必要的模块及其支持包。 您将使用的命令是:
    yum -y update; yum -y install ea-ruby24-mod_passenger ea-ruby24-ruby-devel ea-apache24-devel
  4. 为了轻松安装 Ruby 应用程序,我们还需要一项:bundle。 使用“gem”安装它:
    scl enable ea-ruby24 'gem install bundle'
  5. 让我们确认 mod_passenger,连接器 Apache, 已正确安装。 从命令行,您将运行以下命令:
    httpd -M | grep passenger
  6. 我们还要确保Passenger 本身已设置并正常工作。 运行此命令并按 Enter 启动验证器:
    scl enable ea-ruby24 'passenger-config validate-install'输出:
    What would you like to validate?
    Use <space> to select.
    If the menu doesn't display correctly, press '!' ‣ ⬢ Passenger itself
    ⬡ Apache------------------------------------------------------------------------- * Checking whether this Passenger install is in PATH... ✓
    * Checking whether there are no other Passenger installations... ✓

就这样! 现在,Passenger 已安装在您的 cPanel 服务器上。

示例:使用 Phusion Passenger 设置 Ruby 应用程序

现在我们已经设置好了,让我们配置一个简单的 Ruby 应用程序。

  1. 首先,我们必须将应用程序的软件上传到 cPanel 帐户上的文件夹中。 此文件夹不必位于 public_html 中。 事实上,如果它在 public_html 之外,它会更安全。 我们将选择 /home/username/rubyapp/ 来上传我们的测试文件。 根据您管理代码的方式,您可能会在此步骤中使用 FTP、SSH 或 Git。
  2. 接下来,我们需要安装 Ruby 应用程序运行所需的所有 gem; 它的依赖关系。 这是通过以下命令完成的:
    gem install <gem_name>注意:您可以使用以下命令查看可用的 gem:
    gem search
  3. 为您设置 Rails 应用程序的帐户登录 cPanel,然后转到应用程序管理器(首页 >> 软件 >> 应用管理器)。 点击 ‘注册申请‘。 在此处添加您的 Ruby 应用程序的详细信息,包括您希望从哪个域和子文件夹公开访问该应用程序,以及安装位置。 通常这个文件夹包含另一个名为“app”的文件夹,rubyapp/ 在我们的 example.
  4. Save 通过选择配置 部署. 这将创建适当的乘客配置文件并启动应用程序。

保存此应用程序配置后,cPanel 会将必要的行添加到您的自定义 apache 虚拟主机包含中,以代理对乘客模块的调用。 给它一分钟重新启动 apache,然后前往你的网站看看你是怎么做的!

systemctl restart httpd.service