如何更换乘客应用程序未能加载错误消息。 他们很可爱,但我们宁愿不把它们展示给我们,因为我们把应用程序转移到了产品上。 只要把它们展示在现场的开发箱和维护页面上就更好了。 澄清,这是您的导轨应用程序无法加载时乘客显示的调用堆栈页面。 我宁愿不直接修改旅客模板文件。 乘客似乎并不尊重: ErrorDocument 500 /500.html
我有一个运行在乘客和nginx下的ruby应用程序。 如果我尝试上传一个较大的文件(比如15+ meg),那么当它上传到30s时,上传会重新启动(根据chrome),在下一个30秒结束时,它会放弃,我会暂停。 有没有一个选项,我可以把我的nginxconfiguration,以防止这种情况发生? 这是我目前的nginxconfiguration看起来像: worker_processes 1; events { worker_connections 1024; } http { passenger_root /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.2; passenger_ruby /usr/local/bin/ruby; include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; gzip_min_length 1000; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain application/xml text/css text/javascript application/x-javascript; gzip_disable "MSIE [1-6]\."; server { listen 80; server_name alekskrotoski.com; root /var/www/apps/akrotoski/public; # <— […]
我有两个使用Nginx / Passenger部署的Rails应用程序(比如app1和app2)。 nginx.conf中的服务器定义如下所示: server { rails_env demo; client_max_body_size 50M; listen 80; server_name localhost; root /data/apps; passenger_enabled on; passenger_base_uri /app1; passenger_base_uri /app2; } 你可以看到两者都被configuration为使用demo作为RAILS_ENV 。 我应该如何更改我的configuration以在不同的环境中运行这两个应用程序。 假设app2假设运行RAILS_ENV=qa和app1 RAILS_ENV=demo
在“CentOS 6.2(Final)”服务器(使用Ruby 1.9.3和Rails 3.2),并使用比预期更多的内存。 查看乘客内存统计信息我看到了几个巨大的httpd进程…有关如何找出发生了什么并减less内存使用情况的任何想法? 统计包括在这里…谢谢! ———- Apache processes ———– PID PPID VMSize Private Name ————————————— 1371 1 202.1 MB 0.1 MB /usr/sbin/httpd 4573 1371 210.2 MB 5.0 MB /usr/sbin/httpd 4778 1371 202.5 MB 0.6 MB /usr/sbin/httpd 4780 1371 217.6 MB 9.4 MB /usr/sbin/httpd 4781 1371 217.1 MB 9.1 MB /usr/sbin/httpd 4856 1371 202.4 MB […]
我试图从10.7升级后得到乘客在Mountain Lion上工作,但是在运行passenger-install-apache2-module时遇到问题: g++ ext/apache2/HelperAgent.cpp -o agents/apache2/PassengerHelperAgent -Iext -Iext/common -D_REENTRANT -I/usr/local/include -DHASH_NAMESPACE="__gnu_cxx" -DHASH_FUN_H="<ext/hash_fun.h>" -DHAS_ALLOCA_H -DHAS_SFENCE -DHAS_LFENCE -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-long-long -Wno-missing-field-initializers -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS ext/common/libpassenger_common.a ext/common/libboost_oxt.a -lpthread Undefined symbols for architecture x86_64: "_regcompA", referenced from: Passenger::FilterSupport::Filter::Value::Value(bool, Passenger::StaticString const&, bool)in libpassenger_common.a(aggregate.o) Passenger::FilterSupport::Filter::Value::initializeFrom(Passenger::FilterSupport::Filter::Value const&)in libpassenger_common.a(aggregate.o) "_regexecA", referenced from: Passenger::FilterSupport::Filter::Comparison::compareStringOrRegexp(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Passenger::FilterSupport::Context const&)in […]
我的公司有一个面向客户的Web应用程序分布在多个服务器上,以实现负载均衡和容错function。 该应用程序是用Ruby(Rack,在Passenger下运行)编写的,通过HTTP会话cookie来处理应用程序的身份validation。 我们目前使用SQL数据库来存储会话数据(将其作为标准数据库复制的一部分进行复制),但是这种解决scheme并不理想,因为我们的SQL数据库是Postgres,并且不支持多主操作(在维护中断期间主数据库login用户可以检查他们的会话对一个奴隶,但新用户无法login)。 每个页面命中的SQL查询的开销也不是最佳的。 我想知道人们目前在生产中使用的实际解决scheme。 理想情况下,我们正在寻找: 共享会话存储 login到Server A用户应该能够透明地移动到Server B而不必重新login。 良好的冗余 丢失单个服务器不应该失去任何会话状态。 低开销 至less“比每个页面命中的SQL查询密集”。
我试图在开发者Ubuntu 网站上按照本指南安装Phusion Passenger for nginx 。 我已经安装并运行了Nginx,版本是1.7.9-1〜trusty。 我试图按照先决条件: apt-get install nginx-extras并失败,错误消息: Unpacking nginx-common (1:1.6.2-2.4.0.56~trusty1) … dpkg: error processing archive /var/cache/apt/archives/nginx-common_1%3a1.6.2-2.4.0.56~trusty1_all.deb (–unpack): trying to overwrite '/usr/share/nginx/html/index.html', which is also in package nginx 1.7.9-1~trusty Preparing to unpack …/nginx-extras_1%3a1.6.2-2.4.0.56~trusty1_amd64.deb … Unpacking nginx-extras (1:1.6.2-2.4.0.56~trusty1) … dpkg: error processing archive /var/cache/apt/archives/nginx-extras_1%3a1.6.2-2.4.0.56~trusty1_amd64.deb (–unpack): trying to overwrite '/usr/sbin/nginx', which is also in […]
所以我有一个每10分钟运行一次的方法(Background.cron)。 Background.cron通过一组数据库行循环,如果符合某些条件,则运行一个ActionMailer方法发送一封电子邮件。 但是,当ActionMailer方法运行时,似乎正在发生的事情是(根据我的日志),Background.cron方法将停止,直到下一个cron作业准备好开始。 有什么解释呢? 服务器设置是Passenger和Ruby Enterprise Edition的Apache 2。 PassengerMaxPoolSize设置为10,PassengerMaxInstancesPerApp为5。 Slicehost上有一个512MB的片。
我试图部署一个网站只有https访问,没有http访问。 我确信我只是在configuration文件中丢失了一些简单的行。 正如标题所说,这是在nginx 0.7.65到乘客2.2.9上的Sinatra 0.9.4。 Sinatra服务的主要ruby文件有: require 'ssl_requirement' def ssl_required? true end config.ru有(虽然我不知道它是相关的): require 'rubygems' require 'sinatra' require 'app.rb' set :environment, :production run Sinatra::Application nginx.conf文件如下所示: worker_processes 1; events { worker_connections 1024; } http { passenger_root /var/lib/gems/1.8/gems/passenger-2.2.9; passenger_ruby /usr/bin/ruby1.8; include mime.types; default_type application/octet-stream; # HTTPS server # server { listen 80; listen 443; server_name an.internal.ip.address; root […]
我用Apache2,RVM(对于Ruby)和Passenger(mod_rails)运行Ubuntu 10.10。 当我看“顶”的应用程序,我总是注意到相同的Ruby进程消耗我的服务器上的大约四分之一的内存。 我只是想知道,如果这是目前的设置是正常的。 我不确定它是否与Passenger或RVM有关,或者Ruby进程是否被卡住了。 任何澄清这一点,我将不胜感激。