Comments (33)
在你提供的log中有提示系統使用的 ruby 版本跟你 rails 專案的 Gemfile 中所設定的 ruby 版本不同
目前你的 ubuntu 使用的版本是 1.9.3,但你的專案需要用版本 2.2.1 以上才能運作
你需要在 ubuntu 上安裝版本 2.2.1 以上的 ruby
有可能還需要在 nginx.conf
中設定 passenger_ruby
選項,指定新版本的 ruby 路徑
from ama.
可是我使用 ruby -v 顯示:
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]
還是說我哪裡有用錯版本?
from ama.
請問你的 ruby 是透過 rvm 或是 rbenv 安裝的嗎?
from ama.
跟 Linux 環境不熟,在 Linux 都是用 sudo 安裝東西的嗎?另外可以說明一下 Ruby 是怎麼安裝的嗎?
from ama.
你的問題應該和這個很像..(猜測..)
要指定 ruby 的路徑..
http://railsfun.tw/t/passenger-nignx/383
from ama.
看起來是直接用了裝在系統的 ruby ,去研究一下 rbenv 吧
from ama.
根據大家的意見,看起來似乎就是 passenger_ruby 之類的問題
其實這個虛擬機是別人送我的 .vdi 檔架起來的,我也不知道是怎麼裝 ruby 的
我再研究看看~
還有 abookyun 不好意思,我是問問題,不是教學 XD
from ama.
@AskBear 不是來問教學的啦,我自己的環境好得很 XD 是要提醒你,一般來說,我們是禁止用 sudo 裝東西的,很容易有權限問題,這也是 rvm 跟 rbenv 這類環境工具的存在目的。所以看到你用 sudo 裝環境跟發生明顯是環境設定問題才這樣問的。
from ama.
沒看到設定 passenger_root
和 passenger_ruby
這兩個參數的步驟?
from ama.
我先前也遇過權限問題,如果透過sudo gem install
來安裝passenger
,後來會有類似can't write to file
之類的被阻擋問題,建議用apt-get來安裝passenger,再掛到nginx底下。
可以參考我之前的安裝心得
from ama.
我現在知道我的 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.
其實 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.
另外,本機server如果要能夠開放外連,要有申請固定ip(如果沒有申請過,一般在台灣預設都是浮動ip),並從本機設定開放外連ip才可。就我所知,要從本機的virtual machine內開放外連,過程似乎有點複雜,可能要google一下。
如果要能真的從ip外連,建議到Google Cloud或AWS申請免費方案,用他們的機器練習佈署比較好。
from ama.
前面幾位朋友應該都有提到正解了
其實就是在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.
結果得到了一頁只顯示 Incomplete response received from application
的頁面
是否我又疏漏了什麼 XD
from ama.
production 環境變數的 SECRET_KEY_BASE
有設定嗎?
server {
...
passenger_env_var SECRET_KEY_BASE a1b2c3d5...
}
secret key 可以用 rake secret
產生。
from ama.
真的是還缺 passenger_env_var SECRET_KEY_BASE
我的網站可以跑了 感謝各位大大支持!
不過我最後還遇到了一個問題, assets 沒進來,冏
from ama.
RAILS_ENV=production bin/rake assets:precompile
from ama.
我輸入了:
RAILS_ENV=production bundle exec rake assets:precompile
public/assets 也有東西了,可是沒出現..
from ama.
@AskBear 推薦讀一下這篇 http://gogojimmy.net/2012/07/03/understand-assets-pipline/
from ama.
網站前端的錯誤訊息? 還是把錯誤訊息貼上來比較好,不然我們只能瞎子摸象。
from ama.
sites-available
的設定檔裡面,server block裡面看有沒有這行:
server {
passenger_app_env production;
}
有的話他才會去讀production的assets
from ama.
根據 @zackexplosion 大的提示,我去看了 rails app 的 production.log
發現找不到 assets 的錯誤
再參考 @chinghanho 大給的網站,在 config/environments/production.rb 加上:
config.serve_static_assets = true
就成功了
@adlerhsieh 大,我只加那行的話沒效果 XD
終於成功了,感謝各位江湖大俠一路相挺~^^
from ama.
恭喜喔,建議記錄分享一下過程,這方面的資訊很多人都需要~
from ama.
來日補上喔 ^^
from ama.
這是我這次的心得喔不知道這樣放好不好總之感謝大家幫忙 ^^
大家有興趣也可幫忙修改~感恩
在Ubuntu 14.04虛擬機上部署Rails app-使用Nginx + Passenger.docx
from ama.
可以放到 hackpad 或 Google doc 上嗎? 好久沒用 Word 了...
from ama.
@AskBear Add to Tutorials wiki page.
from ama.
@zackexplosion
https://docs.google.com/document/u/1/d/1EH6rcZ9TbCwGMDdlM3jFQxtHb004B8StYU1kIFuvFrM/pub
@JuanitoFatas
是像這樣嗎?
Ubuntu 14.04虛擬機上部署Rails app 使用Nginx Passenger
from ama.
@AskBear Awesome
from ama.
@AskBear 謝謝啦~ 幫你把markdown稍微潤飾一下比較符合GitHub的排版方式
from ama.
正在努力查看 markdown 相關 XD
感謝你的幫忙喔 ^^
from ama.
最近在試著自己架設Rails環境的時候,改用RVM安裝Ruby,
架設完繼續進行這裡研究的部署方式,發現在sudo gem install passenger...
時出現
gem: command not found
的問題,於是我在部署的流程裡新增了一些解決方法,
大家可以參考指教一下,感謝。
from ama.
Related Issues (20)
- fork gem 後指定 gem source 為自己的 github,capistrano deploy bundle 錯誤 HOT 10
- 請教Devise的問題 HOT 1
- 實作 Agile Web Development With Rails 4 HOT 5
- Agile Web Development With Rails 4 Chapter 11.5
- Agile Web Development With Rails 4 Chapter 11.5
- ActionCable 佈署到 production 後 WebSocket connection failed HOT 4
- 如何直接取得hash的size並作運算 HOT 2
- About rails breadcrumbs gem
- Rails5 WebSocket 偶爾 handshake 404 HOT 2
- 請問關於加密的問題 HOT 2
- 面試題目參考資料 HOT 1
- 請問為何 better_errors 無法在 Rails 4.2.0 + Ruby 2.2.0 上使用? HOT 2
- 詢問 space 和 tab 轉換工具 HOT 6
- 請問要如何實做複選框+背景新增值的功能,或是有那種複選tagging的功能? HOT 11
- 為什麼 deep_dup 實作卻只是呼叫 dup HOT 1
- 請教一下,我把專案從Rails 4.2升級到 5.2,忽然Devise就無法登出了!!! HOT 5
- 請教一下,如何讓一個驗證失敗後就停住? HOT 2
- 想請教一下,如何讓事件點進去能在 Daterangepicker 顯示正確日期? HOT 3
- 商务
- Form only works after page refresh (rails 5.2.8.1, jquery 4.5.1) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ama.