哪些步骤会重现此问题?
预期产量是多少?我该怎么看?
我期待一个有效的网站。我得到的页面无法显示。
Phusion Passenger,rails,OS的版本
Rails 4.0.0 乘客4.0.23 Amazon EC2上的OS Ubuntu 12.04
以下附加信息。
我使用橡胶宝石来设置亚马逊ec2实例。一切都很好。部署成功。但我无法看到我的应用程序。我检查了aph日志,那里有乘客错误。
[website] [ 2013-11-12 16:39:57.9413 31599/7f14572a4700 Pool2/Implementation.cpp:1274 ]: [App 31913 stdout] Started GET "/" for 127.0.0.1 at 2013-11-12 16:39:57 -0500
[website] [ 2013-11-12 16:39:57.9487 31599/7f14572a4700 Pool2/Implementation.cpp:1274 ]: [App 31913 stdout] Processing by HighVoltage::PagesController#show as */*
[website] [ 2013-11-12 16:39:57.9489 31599/7f14572a4700 Pool2/Implementation.cpp:1274 ]: [App 31913 stdout] Parameters: {"id"=>"home"}
[website] [ 2013-11-12 16:39:57.9490 31599/7f14572a4700 Pool2/Implementation.cpp:1274 ]: [App 31913 stdout] Rendered pages/home.html.slim within layouts/application (1.4ms)
[website] [ 2013-11-12 16:39:57.9491 31599/7f14572a4700 Pool2/Implementation.cpp:1274 ]: [App 31913 stdout] Rendered layouts/_header.html.slim (1.0ms)
[website] [ 2013-11-12 16:39:57.9492 31599/7f14572a4700 Pool2/Implementation.cpp:1274 ]: [App 31913 stdout] Rendered layouts/_mob_os_icons.html.slim (0.0ms)
[website] [ 2013-11-12 16:39:57.9493 31599/7f14572a4700 Pool2/Implementation.cpp:1274 ]: [App 31913 stdout] Rendered layouts/_social_icons.html.slim (0.0ms)
[website] [ 2013-11-12 16:39:57.9494 31599/7f14572a4700 Pool2/Implementation.cpp:1274 ]: [App 31913 stdout] Rendered layouts/_footer.html.slim (0.5ms)
[website] [ 2013-11-12 16:39:57.9520 31599/7f14572a4700 Pool2/Implementation.cpp:1274 ]: [App 31913 stdout] Rendered layouts/_support_form.html.slim (3.8ms)
[website] [ 2013-11-12 16:39:57.9524 31599/7f14572a4700 Pool2/Implementation.cpp:1274 ]: [App 31913 stdout] Completed 200 OK in 9ms (Views: 8.4ms | ActiveRecord: 0.0ms)
[website] [ 2013-11-12 16:39:58.0194 31599/7f145e841700 Pool2/Spawner.h:796 ]: [App 2343 stdout]
[website] [ 2013-11-12 16:40:06.8283 31599/7f145e841700 Pool2/SmartSpawner.h:305 ]: Preloader for /mnt/aniways_website-production/releases/20131112204117 started on PID 2343, listening on unix:/tmp/passenger.1.0.31592/generation-0/backends/preloader.2343
[website] [ 2013-11-12 16:40:07.1492 31599/7f145e841700 Pool2/SmartSpawner.h:693 ]: An error occurred while spawning a process: An error occurred while starting the web application. It exited before signalling successful startup back to Phusion Passenger.
[website] [ 2013-11-12 16:40:07.1494 31599/7f145e841700 Pool2/SmartSpawner.h:694 ]: The application preloader seems to have crashed, restarting it and trying again...
[website] [ 2013-11-12 16:40:07.1727 31599/7f145e882700 Pool2/Implementation.cpp:1274 ]: [App 2343 stderr] /usr/local/rubies/2.0.0-p0/lib/ruby/gems/2.0.0/gems/passenger-4.0.23/lib/phusion_passenger/preloader_shared_helpers.rb:66:in `fork': Cannot allocate memory - fork(2) (Errno::ENOMEM)
[website] [ 2013-11-12 16:40:07.1729 31599/7f145e882700 Pool2/Implementation.cpp:1274 ]: [App 2343 stderr] from /usr/local/rubies/2.0.0-p0/lib/ruby/gems/2.0.0/gems/passenger-4.0.23/lib/phusion_passenger/preloader_shared_helpers.rb:66:in `accept_and_process_next_client'
[website] [ 2013-11-12 16:40:07.1730 31599/7f145e882700 Pool2/Implementation.cpp:1274 ]: [App 2343 stderr] from /usr/local/rubies/2.0.0-p0/lib/ruby/gems/2.0.0/gems/passenger-4.0.23/lib/phusion_passenger/preloader_shared_helpers.rb:116:in `run_main_loop'
[website] [ 2013-11-12 16:40:07.1810 31599/7f145e882700 Pool2/Implementation.cpp:1274 ]: [App 2343 stderr] from /usr/local/rubies/2.0.0-p0/lib/ruby/gems/2.0.0/gems/passenger-4.0.23/helper-scripts/rack-preloader.rb:151:in `<module:App>'
[website] [ 2013-11-12 16:40:07.1811 31599/7f145e882700 Pool2/Implementation.cpp:1274 ]: [App 2343 stderr] from /usr/local/rubies/2.0.0-p0/lib/ruby/gems/2.0.0/gems/passenger-4.0.23/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>'
[website] [ 2013-11-12 16:40:07.1812 31599/7f145e882700 Pool2/Implementation.cpp:1274 ]: [App 2343 stderr] from /usr/local/rubies/2.0.0-p0/lib/ruby/gems/2.0.0/gems/passenger-4.0.23/helper-scripts/rack-preloader.rb:28:in `<main>'
[website] [ 2013-11-12 16:40:08.7635 31599/7f145e841700 Pool2/Spawner.h:796 ]: [App 2491 stdout]
[website] [ 2013-11-12 16:40:13.0087 31599/7f145e841700 Pool2/SmartSpawner.h:305 ]: Preloader for /mnt/aniways_website-production/releases/20131112204117 started on PID 2491, listening on unix:/tmp/passenger.1.0.31592/generation-0/backends/preloader.2491
[website] [ 2013-11-12 16:40:13.1094 31599/7f145e78a700 Pool2/Implementation.cpp:1274 ]: [App 2491 stderr] /usr/local/rubies/2.0.0-p0/lib/ruby/gems/2.0.0/gems/passenger-4.0.23/lib/phusion_passenger/preloader_shared_helpers.rb:66:in `fork'
[website] [ 2013-11-12 16:40:13.1111 31599/7f145e78a700 Pool2/Implementation.cpp:1274 ]: [App 2491 stderr] : Cannot allocate memory - fork(2) (Errno::ENOMEM)
[website] [ 2013-11-12 16:40:13.1113 31599/7f145e78a700 Pool2/Implementation.cpp:1274 ]: [App 2491 stderr] from /usr/local/rubies/2.0.0-p0/lib/ruby/gems/2.0.0/gems/passenger-4.0.23/lib/phusion_passenger/preloader_shared_helpers.rb:66:in `accept_and_process_next_client'
[website] [ 2013-11-12 16:40:13.1114 31599/7f145e78a700 Pool2/Implementation.cpp:1274 ]: [App 2491 stderr] from /usr/local/rubies/2.0.0-p0/lib/ruby/gems/2.0.0/gems/passenger-4.0.23/lib/phusion_passenger/preloader_shared_helpers.rb:116:in `run_main_loop'
[website] [ 2013-11-12 16:40:13.1115 31599/7f145e78a700 Pool2/Implementation.cpp:1274 ]: [App 2491 stderr] from /usr/local/rubies/2.0.0-p0/lib/ruby/gems/2.0.0/gems/passenger-4.0.23/helper-scripts/rack-preloader.rb:151:in `<module:App>'
[website] [ 2013-11-12 16:40:13.1117 31599/7f145e78a700 Pool2/Implementation.cpp:1274 ]: [App 2491 stderr] from /usr/local/rubies/2.0.0-p0/lib/ruby/gems/2.0.0/gems/passenger-4.0.23/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>'
[website] [ 2013-11-12 16:40:13.1118 31599/7f145e78a700 Pool2/Implementation.cpp:1274 ]: [App 2491 stderr] from /usr/local/rubies/2.0.0-p0/lib/ruby/gems/2.0.0/gems/passenger-4.0.23/helper-scripts/rack-preloader.rb:28:in `<main>'
[website] [ 2013-11-12 16:40:13.2386 31599/7f145e841700 Pool2/Implementation.cpp:849 ]: Could not spawn process for group /mnt/aniways_website-production/releases/20131112204117#default: An error occurred while starting the web application. It exited before signalling successful startup back to Phusion Passenger.
[website] in 'void Passenger::ApplicationPool2::Spawner::throwAppSpawnException(const string&, Passenger::SpawnException::ErrorKind, Passenger::ApplicationPool2::Spawner::NegotiationDetails&)' (Spawner.h:689)
[website] in 'Passenger::ApplicationPool2::SmartSpawner::SpawnResult Passenger::ApplicationPool2::SmartSpawner::sendSpawnCommand(const Passenger::ApplicationPool2::Options&)' (SmartSpawner.h:682)
[website] in 'Passenger::ApplicationPool2::SmartSpawner::SpawnResult Passenger::ApplicationPool2::SmartSpawner::sendSpawnCommandAgain(const Exception&, const Passenger::ApplicationPool2::Options&) [with Exception = Passenger::SpawnException]' (SmartSpawner.h:692)
[website] in 'virtual Passenger::ApplicationPool2::ProcessPtr Passenger::ApplicationPool2::SmartSpawner::spawn(const Passenger::ApplicationPool2::Options&)' (SmartSpawner.h:760)
[website] in 'void Passenger::ApplicationPool2::Group::spawnThreadRealMain(const SpawnerPtr&, const Passenger::ApplicationPool2::Options&, unsigned int)' (Implementation.cpp:782)
[website]
更新
根据Hongli的建议,我将MaxPoolSize减少到了5。
现在,我在错误日志中得到了这个。
[ 2013-11-13 14:12:07.5599 5103/7fa04475e740 agents/HelperAgent/Main.cpp:619 ]: PassengerHelperAgent online, listening at unix:/tmp/passenger.1.0.5096/generation-0/request
[ 2013-11-13 14:12:07.5780 5108/7f4e3dddd740 agents/LoggingAgent/Main.cpp:318 ]: PassengerLoggingAgent online, listening at unix:/tmp/passenger.1.0.5096/generation-0/logging
[ 2013-11-13 14:12:07.5820 5100/7f470d55d740 agents/Watchdog/Main.cpp:761 ]: All Phusion Passenger agents started!
[Wed Nov 13 14:12:07 2013] [notice] Apache/2.2.22 (Ubuntu) proxy_html/3.0.1 mod_ssl/2.2.22 OpenSSL/1.0.1 Phusion_Passenger/4.0.23 configured -- resuming normal operations
[ 2013-11-13 14:12:11.0335 5103/7fa044687700 Pool2/Spawner.h:796 ]: [App 5252 stdout]
[ 2013-11-13 14:12:14.0589 5103/7fa044687700 Pool2/SmartSpawner.h:305 ]: Preloader for /mnt/jashwant_website-production/releases/20131113190730 started on PID 5252, listening on unix:/tmp/passenger.1.0.5096/generation-0/backends/preloader.5252
[ 2013-11-13 14:12:14.3681 5103/7fa0445d0700 Pool2/Implementation.cpp:1274 ]: [App 5277 stdout] Started GET "/" for 127.0.0.1 at 2013-11-13 14:12:14 -0500
[ 2013-11-13 14:12:14.4019 5103/7fa0445d0700 Pool2/Implementation.cpp:1274 ]: [App 5277 stdout] Processing by HighVoltage::PagesController#show as */*
[ 2013-11-13 14:12:14.4101 5103/7fa0445d0700 Pool2/Implementation.cpp:1274 ]: [App 5277 stdout] Parameters: {"id"=>"home"}
[ 2013-11-13 14:12:14.5424 5103/7fa0445d0700 Pool2/Implementation.cpp:1274 ]: [App 5277 stdout] Rendered pages/home.html.slim within layouts/application (59.9ms)
[ 2013-11-13 14:12:14.5987 5103/7fa0445d0700 Pool2/Implementation.cpp:1274 ]: [App 5277 stdout] Rendered layouts/_header.html.slim (23.9ms)
[ 2013-11-13 14:12:14.7445 5103/7fa0445d0700 Pool2/Implementation.cpp:1274 ]: [App 5277 stdout] Rendered layouts/_mob_os_icons.html.slim (7.4ms)
[ 2013-11-13 14:12:14.7631 5103/7fa0445d0700 Pool2/Implementation.cpp:1274 ]: [App 5277 stdout] Rendered layouts/_social_icons.html.slim (7.2ms)
[ 2013-11-13 14:12:14.7633 5103/7fa0445d0700 Pool2/Implementation.cpp:1274 ]: [App 5277 stdout] Rendered layouts/_footer.html.slim (155.8ms)
[ 2013-11-13 14:12:14.8396 5103/7fa0445d0700 Pool2/Implementation.cpp:1274 ]: [App 5277 stdout] Rendered layouts/_support_form.html.slim (71.4ms)
[ 2013-11-13 14:12:14.8413 5103/7fa0445d0700 Pool2/Implementation.cpp:1274 ]: [App 5277 stdout] Completed 200 OK in 431ms (Views: 377.7ms | ActiveRecord: 0.0ms)
我认为这表示服务器设置成功。但我仍然无法在线浏览我的网站。
(我已经检查过安全组,它们允许0.0.0.0到80/443端口。与mysql相同.Rails /log/production.log
为空。
更新2 我在haproxy日志中看到了这个
Nov 13 15:02:23 localhost haproxy[5580]: Server passenger_proxy/website is DOWN, reason: Layer7 wrong status, code: 404, info: "Not Found", check duration: 5ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
答案 0 :(得分:2)
Phusion Passenger作者在这里。
请注意日志?
Cannot allocate memory - fork(2) (Errno::ENOMEM)
这意味着您的系统内存不足。
请注意这个?
An error occurred while starting the web application.
It exited before signalling successful startup back to Phusion Passenger.
这意味着Passenger试图为您的Web应用程序生成一个进程,但由于上述错误(内存不足)而失败了。
你可以做三件事:
答案 1 :(得分:0)
我建议你使用Passenger + Nginx模块。以下是安装Ruby,rails和配置乘客的步骤。
安装需要的图书馆
sudo apt-get install zlib1g zlib1g-dev build-essential openssl libssl-dev libmysqlclient18 libmysqlclient-dev libyaml-dev curl git-core python-software-properties libpq-dev nodejs
下载并安装RUBY 1.9.3
sudo apt-get update
sudo apt-get install ruby1.9.3
OR
wget ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p195.tar.gz
apt-get install wget build-eruby+rails+mysql+passenger+ngnixssential make
cd ruby-2.0.0
$ ./configure
$ make
$ sudo make install
3.DOWNLOAD RUBY GEM:标准的红宝石包装经理 不需要安装,它在ruby安装时安装
4.INSTALL RAILS
sudo apt-get install ruby-dev
sudo gem install rails
8.乘客安装
gem install passenger
9.INSTALL NGINX
sudo apt-get install libcurl4-openssl-dev or libcurl4-gnutls-dev
sudo apt-get install libssl-dev
sudo passenger-install-nginx-module
10.START NGINX
sudo service nginx start