使用 NGINX 部署 ROR 应用程序

言鼎科技 2023-06-16 407

教程目标:使用 NGINX 部署 ROR 应用程序

不知道如何使用 NGINX 部署 ROR App?本教程适合您!我们会讨论

  • 安装 rvm

  • 配置红宝石

  • 使用 NGINX 作为反向代理,使用 Phusion Passenger 模块缓冲用户和 Rails 应用程序之间的请求和响应。

安装 RVM

RVM或 Ruby Version Manager 是一个命令行工具,可让您轻松安装、管理和使用多个 ruby 环境,从解释器到 gem 集。

如果它们不存在,您需要安装 software-properties-common 添加 PPA 存储库。

使用 NGINX 部署 ROR 应用程序
sudo apt-get install software-properties-common

添加 PPA

使用 NGINX 部署 ROR 应用程序
sudo apt-add-repository -y ppa:rael-gc/rvm

使用 apt-get 更新软件包

使用 NGINX 部署 ROR 应用程序
sudo apt-get 更新

使用以下命令安装 rvm

使用 NGINX 部署 ROR 应用程序
sudo apt-get 安装 rvm

完成所有安装后,使用以下命令将 RVM 加载到系统中。

使用 NGINX 部署 ROR 应用程序
来源 /etc/profile.d/rvm.sh

安装和配置红宝石

执行以下命令安装最新的稳定版 ruby 并设置默认的 ruby 版本。

使用 NGINX 部署 ROR 应用程序
rvm 安装红宝石ruby --version // 将显示 ruby 版本红宝石 3.0.0p0(2020-12-25 修订版 95aff21468)[x86_64-linux]rvm -- 默认使用 ruby-3.0.0

发展。优化。部署。重复。
我们拥有您所需要的——敬业、技术精湛且精明的 Ruby on Rails 开发人员。今天联系我们以获得最好的!立即从我们这里雇用Ruby on Rails 开发人员!

安装 NodeJS 和 Yarn

我们需要安装 javascript 运行时以在 ruby on rails 应用程序中编译资产管道。因此我们将使用 NodeJs 和 Yarn 包管理器,它们可以从 Nodesource 存储库安装。

在安装 Yarn 和 NodeJs 之前,先安装一些依赖

使用 NGINX 部署 ROR 应用程序
sudo apt 安装 gcc g++ make

添加 NodeJs NodeSource 存储库。

使用 NGINX 部署 ROR 应用程序
curl -sL https://deb.nodesource.com/setup_14.x | 须藤 -E 庆典 -

添加 Yarn 包管理器的 GPG 密钥和存储库。

使用 NGINX 部署 ROR 应用程序
卷曲-sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key 添加 -echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

使用 apt 命令更新所有可用的存储库并安装 nodejs 和 yarn。

使用 NGINX 部署 ROR 应用程序
须藤更新sudo apt 安装 yarn nodejs

您可以使用以下命令检查节点和纱线的版本。

使用 NGINX 部署 ROR 应用程序
node --version (将打印安装的节点版本)yarn --version(将打印安装的纱线版本)

安装导轨

在这一步中,我们将通过 RubyGem 包管理器安装最新版本的 Rails。但在安装 gems 之前,我们应该使用以下命令更新 RubyGem。

使用 NGINX 部署 ROR 应用程序
宝石更新——系统

安装最新版本的 rails。

使用 NGINX 部署 ROR 应用程序
宝石安装导轨

检查轨道版本

使用 NGINX 部署 ROR 应用程序
轨道--版本

创建新的 Rails 应用程序

使用 rails创建新的 rails 项目“< app_name >”

使用 NGINX 部署 ROR 应用程序
轨道新 <app_name>cd <应用名称>

安装 Passenger 和 NGINX

安装最新版本的乘客。

使用 NGINX 部署 ROR 应用程序
宝石安装乘客

使用 rvmsudo 运行 Passenger Nginx 模块安装程序并按照屏幕上的说明进行操作。

使用 NGINX 部署 ROR 应用程序
rvmsudo passenger-install-nginx-module

如果出现错误,请运行以下命令之一;之后重新运行上一个命令。

使用 NGINX 部署 ROR 应用程序
apt-get 安装 libcurl4-openssl-dev 或 libcurl4-gnutls-dev

安装后,请运行以下命令验证安装

使用 NGINX 部署 ROR 应用程序
rvmsudo passenger-config 验证安装

使用 NGINX 部署 ROR 应用程序

所有检查都应该通过。如果任何检查未通过,请按照屏幕上的建议进行操作。

最后,检查 Nginx 是否启动了 Passenger 核心进程

使用 NGINX 部署 ROR 应用程序
rvmsudo 乘客记忆统计

您应该看到 Nginx 进程以及 Passenger 进程,如下所示。

使用 NGINX 部署 ROR 应用程序

文件位置

请记住,在某个时候,rvmsudo passenger-install-nginx-module问你 Nginx 安装到哪里,问你要“前缀”,对吧?前缀是安装这个新 Nginx 的目录。默认情况下,安装程序选择目录 /opt/nginx。在本节中,我们假设您安装了默认前缀目录。如果您指定了不同的前缀,只需替换/选择/nginx与实际目录。

Nginx的配置文件位于/选择/nginx/conf. 它的日志文件位于 /opt/nginx/logs 中。

进入下一节如何使用 NGINX 部署 ROR 应用程序并开始配置 NGINX。

配置 NGINX

使用文本编辑器打开 nginx.conf

使用 NGINX 部署 ROR 应用程序
sudo vi opt/nginx/conf/nginx.conf 

使用 NGINX 部署 ROR 应用程序
worker_processes 1;事件{
   worker_connections 1024;}HTTP {
   passenger_root /home/sanket/.rvm/gems/ruby-3.0.0/gems/passenger-6.0.13;
   passenger_ruby /home/sanket/.rvm/gems/ruby-3.0.0/wrappers/ruby;
   包括 mime.types;
   default_type 应用程序/八位字节流;
   发送文件;
   keepalive_timeout 65;
   服务器 {
       听80;
       服务器名称本地主机;
       地点 / {
           根 HTML;
           index index.html index.htm;
       }
      error_page 500 502 503 504 /50x.html;
       location = /50x.html {
           根 HTML;
       }
   }}

将代码片段 server { … } 替换为以下片段

使用 NGINX 部署 ROR 应用程序
服务器 {听 80 默认服务器;服务器名称本地主机;## 你可以添加你的ippassenger_enabled 开启;passenger_app_env 开发;## 你可以在这里添加你的环境根/民众;}

启动 NGINX

运行以下命令启动 Nginx。

使用 NGINX 部署 ROR 应用程序
sudo /opt/nginx/sbin/nginx

使用 NGINX 部署 ROR 应用程序

停止 NGINX

运行以下命令停止 Nginx。

使用 NGINX 部署 ROR 应用程序
sudo kill $(cat /opt/nginx/logs/nginx.pid)

结论

我希望登陆本教程的目的对您有所帮助。您渴望了解 ROR 吗?您想深入了解 ROR 的高级知识吗?那么 ROR 教程页面适合您!欢迎访问更多此类Ruby on Rails 教程并探索 ROR 的基础知识。如果您有任何问题、反馈或建议,请毫不犹豫地给我们回信。

言鼎科技主做软件开发,微信小程序,网站开发,软件外包,手机APP开发。如有需要记得联系我们!

The End