![](/img/trans.png)
[英]Passenger + Capistrano + Apache = Rails app not running
[英]Passenger doesn't seem to be running (Capistrano/Rails/Apache/Ubuntu)
使用Capistrano將Rails應用程序部署到運行啟用了Passenger的Apache的Ubuntu VM。
我遵循了本教程: https : //www.phusionpassenger.com/library/install/apache/install/oss/trusty/進行了一些更改,因為我使用的是17.04,而不是14.04 LTS。
passenger-config validate-install
說,Passenger和Apache都看起來不錯。 passenger-memory-stats
顯示了Passenger和Apache進程。
我有sudo apache2ctl restart
幾次,沒有警告。 但是, passenger-status
以及Capistrano運行的passenger-config restart-app
報告說,Passenger“似乎沒有運行”。 因此,我的部署停止了。
機器上只有一個Ruby,即使用ruby-install安裝的ruby-2.4.1。 如果版本不匹配,我會apt-get update
and upgrade
d。
Apache日志未顯示任何錯誤,當然也沒有與“乘客”相關的錯誤。
為什么乘客內部會不同意,說它們都配置正確並且有進程在運行,但是后來又說它沒有運行?
我需要按照Tony Vincent的建議自定義實例注冊表目錄:
服務器上的/etc/apache2/mods-enabled/passenger.conf:
PassengerInstanceRegistryDir /home/MYUSER/passenger_temp
在Rails應用程序中的config / deploy / production.rb:
set :default_env, { 'PASSENGER_INSTANCE_REGISTRY_DIR' => '/home/MYUSER/passenger_temp' }
不好意思,但是您是否在ubuntu服務器(不是osx)上運行passenger-config validate-install
? 與passenger-memory-stats
和sudo apache2ctl restart
。
基於/tmp
沒有passenger.randomstring
目錄,這聽起來像是您在混淆本地和遠程命令。 /tmp
是Ubuntu上PassengerInstanceRegistryDir
的默認位置,因此,如果Passenger運行,則/tmp
中應該有一個以passenger.
開頭的目錄passenger.
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.