1

我使用乘客安装的 Ubuntu 12.04 LTS、rvm、passenger 和 nginx。我用 Putty 连接到我的服务器,通过 init.d/nginx 启动 nginx,我的 Rails 应用程序运行良好。

但是当我从终端断开连接时,我会看到标准应用程序错误(出现问题等)。

nginx错误日志输出:

<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- rubygems (LoadError)
  from <internal:lib/rubygems/custom_require>:29:in `require'
  from <internal:gem_prelude>:167:in `load_full_rubygems_library'
  from <internal:gem_prelude>:217:in `try_activate'
  from <internal:lib/rubygems/custom_require>:32:in `rescue in require'
  from <internal:lib/rubygems/custom_require>:29:in `require'
  from /var/lib/passenger-standalone/3.0.18-x86_64-ruby1.9.3-linux-gcc4.6.3-1002/support/helper-scripts/passenger-spawn-server:75:in `<main>'
*** Passenger ERROR (ext/common/ApplicationPool/../SpawnManager.h:220):
Could not start the spawn server: /home/torteg/.rvm/wrappers/ruby-1.9.2-p320/ruby: No such file or directory (2)
*** Passenger ERROR (ext/common/ApplicationPool/../SpawnManager.h:220):
Could not start the spawn server: /home/torteg/.rvm/wrappers/ruby-1.9.2-p320/ruby: No such file or directory (2)

ps辅助输出:

root      5066  0.0  0.0 220928  1936 ?        Ssl  15:46   0:00 PassengerWatchdog
root      5069  0.0  0.0 1872956 2340 ?        Sl   15:46   0:00 PassengerHelperAgent
root      5071  0.5  0.2 114348 10172 ?        Sl   15:46   0:00 Passenger spawn server
nobody    5074  0.0  0.1 169324  4688 ?        Sl   15:46   0:00 PassengerLoggingAgent
root      5105  0.0  0.0  39472  1028 ?        Ss   15:46   0:00 nginx: master process /opt/nginx/sbin/nginx
torteg    5106  0.0  0.0  39892  2276 ?        S    15:46   0:00 nginx: worker process
torteg    5116 13.2  1.5 225720 62432 ?        Sl   15:46   0:03 Passenger ApplicationSpawner: /webapps/ngt-storage
torteg    5132  2.4  1.5 230940 64520 ?        Sl   15:46   0:00 Rack: /webapps/ngt-storage
root      5141  0.1  0.1 160656  7272 ?        Ss   15:47   0:00 sshd: torteg [priv]
torteg    5145  0.0  0.0 164168  1820 ?        S    15:47   0:00 sshd: torteg [priv]
torteg    5291  0.0  0.0 160656  2656 ?        S    15:47   0:00 sshd: torteg@pts/3
4

2 回答 2

1

因此,当您通过 ssh 连接到生产服务器、世界其他地方(或云中)并访问 mydomain.com 时,它就可以工作了。一旦您退出该 ssh 连接,nginx 和乘客就会停止工作?这两个独立的事件是如何相互关联的?您使用什么服务来托管此应用程序?可能的答案(当你得到我们的答案时会清理这个)

我看到你也在使用 rvm ......除非你的部署用户中没有设置 rvm 路径(只是大声思考)

于 2012-12-01T13:29:33.997 回答
1

使用默认bash shell创建了新用户部署。为该用户安装了 rvm。然后我设置 user 和passenger_user部署在nginx.conf 中。清理过的预编译资产..效果很好!

于 2012-12-04T10:22:43.147 回答