使用 NGINX 部署 ROR 應(yīng)用程序

言鼎科技 2023-06-16 410

教程目標(biāo):使用 NGINX 部署 ROR 應(yīng)用程序

不知道如何使用 NGINX 部署 ROR App?本教程適合您!我們會(huì)討論

  • 安裝 rvm

  • 配置紅寶石

  • 使用 NGINX 作為反向代理,使用 Phusion Passenger 模塊緩沖用戶和 Rails 應(yīng)用程序之間的請(qǐng)求和響應(yīng)。

安裝 RVM

RVM或 Ruby Version Manager 是一個(gè)命令行工具,可讓您輕松安裝、管理和使用多個(gè) ruby 環(huán)境,從解釋器到 gem 集。

如果它們不存在,您需要安裝 software-properties-common 添加 PPA 存儲(chǔ)庫(kù)。

使用 NGINX 部署 ROR 應(yīng)用程序
sudo apt-get install software-properties-common

添加 PPA

使用 NGINX 部署 ROR 應(yīng)用程序
sudo apt-add-repository -y ppa:rael-gc/rvm

使用 apt-get 更新軟件包

使用 NGINX 部署 ROR 應(yīng)用程序
sudo apt-get 更新

使用以下命令安裝 rvm

使用 NGINX 部署 ROR 應(yīng)用程序
sudo apt-get 安裝 rvm

完成所有安裝后,使用以下命令將 RVM 加載到系統(tǒng)中。

使用 NGINX 部署 ROR 應(yīng)用程序
來(lái)源 /etc/profile.d/rvm.sh

安裝和配置紅寶石

執(zhí)行以下命令安裝最新的穩(wěn)定版 ruby 并設(shè)置默認(rèn)的 ruby 版本。

使用 NGINX 部署 ROR 應(yīng)用程序
rvm 安裝紅寶石ruby --version // 將顯示 ruby 版本紅寶石 3.0.0p0(2020-12-25 修訂版 95aff21468)[x86_64-linux]rvm -- 默認(rèn)使用 ruby-3.0.0

發(fā)展。優(yōu)化。部署。重復(fù)。
我們擁有您所需要的——敬業(yè)、技術(shù)精湛且精明的 Ruby on Rails 開(kāi)發(fā)人員。今天聯(lián)系我們以獲得最好的!立即從我們這里雇用Ruby on Rails 開(kāi)發(fā)人員!

安裝 NodeJS 和 Yarn

我們需要安裝 javascript 運(yùn)行時(shí)以在 ruby on rails 應(yīng)用程序中編譯資產(chǎn)管道。因此我們將使用 NodeJs 和 Yarn 包管理器,它們可以從 Nodesource 存儲(chǔ)庫(kù)安裝。

在安裝 Yarn 和 NodeJs 之前,先安裝一些依賴

使用 NGINX 部署 ROR 應(yīng)用程序
sudo apt 安裝 gcc g++ make

添加 NodeJs NodeSource 存儲(chǔ)庫(kù)。

使用 NGINX 部署 ROR 應(yīng)用程序
curl -sL https://deb.nodesource.com/setup_14.x | 須藤 -E 慶典 -

添加 Yarn 包管理器的 GPG 密鑰和存儲(chǔ)庫(kù)。

使用 NGINX 部署 ROR 應(yīng)用程序
卷曲-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 命令更新所有可用的存儲(chǔ)庫(kù)并安裝 nodejs 和 yarn。

使用 NGINX 部署 ROR 應(yīng)用程序
須藤更新sudo apt 安裝 yarn nodejs

您可以使用以下命令檢查節(jié)點(diǎn)和紗線的版本。

使用 NGINX 部署 ROR 應(yīng)用程序
node --version (將打印安裝的節(jié)點(diǎn)版本)yarn --version(將打印安裝的紗線版本)

安裝導(dǎo)軌

在這一步中,我們將通過(guò) RubyGem 包管理器安裝最新版本的 Rails。但在安裝 gems 之前,我們應(yīng)該使用以下命令更新 RubyGem。

使用 NGINX 部署 ROR 應(yīng)用程序
寶石更新——系統(tǒng)

安裝最新版本的 rails。

使用 NGINX 部署 ROR 應(yīng)用程序
寶石安裝導(dǎo)軌

檢查軌道版本

使用 NGINX 部署 ROR 應(yīng)用程序
軌道--版本

創(chuàng)建新的 Rails 應(yīng)用程序

使用 rails創(chuàng)建新的 rails 項(xiàng)目“< app_name >”。

使用 NGINX 部署 ROR 應(yīng)用程序
軌道新 <app_name>cd <應(yīng)用名稱(chēng)>

安裝 Passenger 和 NGINX

安裝最新版本的乘客。

使用 NGINX 部署 ROR 應(yīng)用程序
寶石安裝乘客

使用 rvmsudo 運(yùn)行 Passenger Nginx 模塊安裝程序并按照屏幕上的說(shuō)明進(jìn)行操作。

使用 NGINX 部署 ROR 應(yīng)用程序
rvmsudo passenger-install-nginx-module

如果出現(xiàn)錯(cuò)誤,請(qǐng)運(yùn)行以下命令之一;之后重新運(yùn)行上一個(gè)命令。

使用 NGINX 部署 ROR 應(yīng)用程序
apt-get 安裝 libcurl4-openssl-dev 或 libcurl4-gnutls-dev

安裝后,請(qǐng)運(yùn)行以下命令驗(yàn)證安裝

使用 NGINX 部署 ROR 應(yīng)用程序
rvmsudo passenger-config 驗(yàn)證安裝

使用 NGINX 部署 ROR 應(yīng)用程序

所有檢查都應(yīng)該通過(guò)。如果任何檢查未通過(guò),請(qǐng)按照屏幕上的建議進(jìn)行操作。

最后,檢查 Nginx 是否啟動(dòng)了 Passenger 核心進(jìn)程

使用 NGINX 部署 ROR 應(yīng)用程序
rvmsudo 乘客記憶統(tǒng)計(jì)

您應(yīng)該看到 Nginx 進(jìn)程以及 Passenger 進(jìn)程,如下所示。

使用 NGINX 部署 ROR 應(yīng)用程序

文件位置

請(qǐng)記住,在某個(gè)時(shí)候,rvmsudo passenger-install-nginx-module問(wèn)你 Nginx 安裝到哪里,問(wèn)你要“前綴”,對(duì)吧?前綴是安裝這個(gè)新 Nginx 的目錄。默認(rèn)情況下,安裝程序選擇目錄 /opt/nginx。在本節(jié)中,我們假設(shè)您安裝了默認(rèn)前綴目錄。如果您指定了不同的前綴,只需替換/選擇/nginx與實(shí)際目錄。

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

進(jìn)入下一節(jié)如何使用 NGINX 部署 ROR 應(yīng)用程序并開(kāi)始配置 NGINX。

配置 NGINX

使用文本編輯器打開(kāi) nginx.conf

使用 NGINX 部署 ROR 應(yīng)用程序
sudo vi opt/nginx/conf/nginx.conf 

使用 NGINX 部署 ROR 應(yīng)用程序
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 應(yīng)用程序/八位字節(jié)流;
   發(fā)送文件;
   keepalive_timeout 65;
   服務(wù)器 {
       聽(tīng)80;
       服務(wù)器名稱(chēng)本地主機(jī);
       地點(diǎn) / {
           根 HTML;
           index index.html index.htm;
       }
      error_page 500 502 503 504 /50x.html;
       location = /50x.html {
           根 HTML;
       }
   }}

將代碼片段 server { … } 替換為以下片段

使用 NGINX 部署 ROR 應(yīng)用程序
服務(wù)器 {聽(tīng) 80 默認(rèn)服務(wù)器;服務(wù)器名稱(chēng)本地主機(jī);## 你可以添加你的ippassenger_enabled 開(kāi)啟;passenger_app_env 開(kāi)發(fā);## 你可以在這里添加你的環(huán)境根/民眾;}

啟動(dòng) NGINX

運(yùn)行以下命令啟動(dòng) Nginx。

使用 NGINX 部署 ROR 應(yīng)用程序
sudo /opt/nginx/sbin/nginx

使用 NGINX 部署 ROR 應(yīng)用程序

停止 NGINX

運(yùn)行以下命令停止 Nginx。

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

結(jié)論

我希望登陸本教程的目的對(duì)您有所幫助。您渴望了解 ROR 嗎?您想深入了解 ROR 的高級(jí)知識(shí)嗎?那么 ROR 教程頁(yè)面適合您!歡迎訪問(wèn)更多此類(lèi)Ruby on Rails 教程并探索 ROR 的基礎(chǔ)知識(shí)。如果您有任何問(wèn)題、反饋或建議,請(qǐng)毫不猶豫地給我們回信。

言鼎科技主做軟件開(kāi)發(fā),微信小程序,網(wǎng)站開(kāi)發(fā),軟件外包,手機(jī)APP開(kāi)發(fā)。如有需要記得聯(lián)系我們!

The End