Coder Social home page Coder Social logo

Comments (33)

timfanda35 avatar timfanda35 commented on June 1, 2024

在你提供的log中有提示系統使用的 ruby 版本跟你 rails 專案的 Gemfile 中所設定的 ruby 版本不同
目前你的 ubuntu 使用的版本是 1.9.3,但你的專案需要用版本 2.2.1 以上才能運作

你需要在 ubuntu 上安裝版本 2.2.1 以上的 ruby

有可能還需要在 nginx.conf 中設定 passenger_ruby 選項,指定新版本的 ruby 路徑

from ama.

AskBear avatar AskBear commented on June 1, 2024

可是我使用 ruby -v 顯示:

ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]

還是說我哪裡有用錯版本?

from ama.

timfanda35 avatar timfanda35 commented on June 1, 2024

請問你的 ruby 是透過 rvm 或是 rbenv 安裝的嗎?

from ama.

abookyun avatar abookyun commented on June 1, 2024

跟 Linux 環境不熟,在 Linux 都是用 sudo 安裝東西的嗎?另外可以說明一下 Ruby 是怎麼安裝的嗎?

from ama.

aryung avatar aryung commented on June 1, 2024

你的問題應該和這個很像..(猜測..)
要指定 ruby 的路徑..

http://railsfun.tw/t/passenger-nignx/383

from ama.

zackexplosion avatar zackexplosion commented on June 1, 2024

看起來是直接用了裝在系統的 ruby ,去研究一下 rbenv 吧

from ama.

AskBear avatar AskBear commented on June 1, 2024

根據大家的意見,看起來似乎就是 passenger_ruby 之類的問題
其實這個虛擬機是別人送我的 .vdi 檔架起來的,我也不知道是怎麼裝 ruby 的
我再研究看看~
還有 abookyun 不好意思,我是問問題,不是教學 XD

from ama.

abookyun avatar abookyun commented on June 1, 2024

@AskBear 不是來問教學的啦,我自己的環境好得很 XD 是要提醒你,一般來說,我們是禁止用 sudo 裝東西的,很容易有權限問題,這也是 rvm 跟 rbenv 這類環境工具的存在目的。所以看到你用 sudo 裝環境跟發生明顯是環境設定問題才這樣問的。

from ama.

chinghanho avatar chinghanho commented on June 1, 2024

沒看到設定 passenger_rootpassenger_ruby 這兩個參數的步驟?

from ama.

adlerhsieh avatar adlerhsieh commented on June 1, 2024

我先前也遇過權限問題,如果透過sudo gem install來安裝passenger,後來會有類似can't write to file之類的被阻擋問題,建議用apt-get來安裝passenger,再掛到nginx底下。

可以參考我之前的安裝心得

from ama.

AskBear avatar AskBear commented on June 1, 2024

我現在知道我的 ruby 是 rbenv 裝的 2.2.1 版
而看我上面的做法 error.log 有幾行 /var/lib/gems/1.9.1/gems/passenger....
是否能解讀為 passenger 使用了我系統 ruby 1.9.1 的版本?
那我要如何做才會安裝正確? passenger_ruby 能否解決?
順道一提: 我是使用 virtualbox 開 ubuntu 虛擬機,
並且想要部署(應該說能從外界輸入網域觀看) ubuntu 裡的 rails app
小弟不才,有任何錯誤觀念、想法請多多包涵,懇請不吝指教

@abookyun 不好意思,我還真的誤會了 ^^" 謝謝你的指教,日後我會做為參考

from ama.

zackexplosion avatar zackexplosion commented on June 1, 2024

其實 passenger 自己用哪個 ruby 版本不太需要去管他,你只要讓他可以用正確的 Ruby 版本來啟動你的 APP 就可以了。

我的設定檔給你參考看看

passenger_show_version_in_header off;
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /usr/bin/passenger_free_ruby;

from ama.

adlerhsieh avatar adlerhsieh commented on June 1, 2024

另外,本機server如果要能夠開放外連,要有申請固定ip(如果沒有申請過,一般在台灣預設都是浮動ip),並從本機設定開放外連ip才可。就我所知,要從本機的virtual machine內開放外連,過程似乎有點複雜,可能要google一下。

如果要能真的從ip外連,建議到Google Cloud或AWS申請免費方案,用他們的機器練習佈署比較好。

from ama.

motephyr avatar motephyr commented on June 1, 2024

前面幾位朋友應該都有提到正解了
其實就是在nginx.conf底下去設

    passenger_root /home/apps/.rvm/gems/ruby-2.1.1/gems/passenger-4.0.37;
    passenger_ruby /home/apps/.rvm/gems/ruby-2.1.1/wrappers/ruby;

類似這種設定就可以了。

from ama.

AskBear avatar AskBear commented on June 1, 2024

大家好喔~於是我試著改成如下圖:
deploy7

結果得到了一頁只顯示 Incomplete response received from application 的頁面

error.log 如下:
deploy5
deploy6

是否我又疏漏了什麼 XD

from ama.

chinghanho avatar chinghanho commented on June 1, 2024

@AskBear

production 環境變數的 SECRET_KEY_BASE 有設定嗎?

server {
  ...
  passenger_env_var SECRET_KEY_BASE a1b2c3d5...
}

secret key 可以用 rake secret 產生。

from ama.

AskBear avatar AskBear commented on June 1, 2024

真的是還缺 passenger_env_var SECRET_KEY_BASE
我的網站可以跑了 感謝各位大大支持!
不過我最後還遇到了一個問題, assets 沒進來,冏

from ama.

zackexplosion avatar zackexplosion commented on June 1, 2024

RAILS_ENV=production bin/rake assets:precompile

from ama.

AskBear avatar AskBear commented on June 1, 2024

我輸入了:
RAILS_ENV=production bundle exec rake assets:precompile
public/assets 也有東西了,可是沒出現..

from ama.

chinghanho avatar chinghanho commented on June 1, 2024

@AskBear 推薦讀一下這篇 http://gogojimmy.net/2012/07/03/understand-assets-pipline/

from ama.

zackexplosion avatar zackexplosion commented on June 1, 2024

網站前端的錯誤訊息? 還是把錯誤訊息貼上來比較好,不然我們只能瞎子摸象。

from ama.

adlerhsieh avatar adlerhsieh commented on June 1, 2024

sites-available的設定檔裡面,server block裡面看有沒有這行:

server {
  passenger_app_env production;
}

有的話他才會去讀production的assets

from ama.

AskBear avatar AskBear commented on June 1, 2024

根據 @zackexplosion 大的提示,我去看了 rails app 的 production.log
發現找不到 assets 的錯誤
再參考 @chinghanho 大給的網站,在 config/environments/production.rb 加上:
config.serve_static_assets = true
就成功了

@adlerhsieh 大,我只加那行的話沒效果 XD

終於成功了,感謝各位江湖大俠一路相挺~^^

from ama.

adlerhsieh avatar adlerhsieh commented on June 1, 2024

恭喜喔,建議記錄分享一下過程,這方面的資訊很多人都需要~

from ama.

AskBear avatar AskBear commented on June 1, 2024

來日補上喔 ^^

from ama.

AskBear avatar AskBear commented on June 1, 2024

這是我這次的心得喔不知道這樣放好不好總之感謝大家幫忙 ^^
大家有興趣也可幫忙修改~感恩
在Ubuntu 14.04虛擬機上部署Rails app-使用Nginx + Passenger.docx

from ama.

zackexplosion avatar zackexplosion commented on June 1, 2024

可以放到 hackpad 或 Google doc 上嗎? 好久沒用 Word 了...

from ama.

JuanitoFatas avatar JuanitoFatas commented on June 1, 2024

@AskBear Add to Tutorials wiki page. 😊

from ama.

AskBear avatar AskBear commented on June 1, 2024

@zackexplosion
https://docs.google.com/document/u/1/d/1EH6rcZ9TbCwGMDdlM3jFQxtHb004B8StYU1kIFuvFrM/pub
@JuanitoFatas
是像這樣嗎?
Ubuntu 14.04虛擬機上部署Rails app 使用Nginx Passenger

from ama.

JuanitoFatas avatar JuanitoFatas commented on June 1, 2024

@AskBear Awesome 👍. You may need to learn some more markdown to improve how it reads.

from ama.

adlerhsieh avatar adlerhsieh commented on June 1, 2024

@AskBear 謝謝啦~ 幫你把markdown稍微潤飾一下比較符合GitHub的排版方式

from ama.

AskBear avatar AskBear commented on June 1, 2024

正在努力查看 markdown 相關 XD
感謝你的幫忙喔 ^^

from ama.

AskBear avatar AskBear commented on June 1, 2024

最近在試著自己架設Rails環境的時候,改用RVM安裝Ruby,
架設完繼續進行這裡研究的部署方式,發現在sudo gem install passenger...時出現
gem: command not found的問題,於是我在部署的流程裡新增了一些解決方法,
大家可以參考指教一下,感謝。

from ama.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.