Articles of phusion passenger

Apache dispatch.fcgi不会被Passenger解释

我已经把乘客安装成ruby了。 我已经添加到/etc/apache2/apache2.conf LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.4/ext/apache2/mod_passenger.so PassengerRuby /usr/bin/ruby PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.4 并设置Vitual主机到Rails应用程序〜/公共目录,但是当我访问该网站,我只看到dispatch.fcgi的内容,但没有得到执行 〜/ public目录中的.htaccess是 AddHandler fcgid-script .fcgi AddHandler cgi-script .cgi Options +FollowSymLinks +ExecCGI RewriteEngine On RewriteRule ^$ index.html [QSA] RewriteRule ^([^.]+)$ $1.html [QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] 但是,如果我运行脚本/服务器,一切工作正常,所以应用程序本身没有问题。

设置托pipe在nginx / passenger中的rails应用程序的环境variables

如何设置环境variables,以便它们可用于我的托pipe在nginx / passenger中的rails应用程序?

Rails应用程序(Redmine)上的Phusion乘客

我已经在我的Linux机器上为Apache安装了mod_passenger。 该模块已经正确编译,Apache似乎正在加载它(没有这方面的错误)。 当我设置一个虚拟主机指向一个Rails应用程序(Redmine项目pipe理)时,我得到了一个关于“Ruby on Rails应用程序无法启动”的呻吟声。 具体来说,“错误信息:没有这样的文件或目录 – config / environment.rb”。 我可以看到Redmine根文件夹中确实有一个config / environment.rb文件。 我的虚拟主机configuration是这样的: <VirtualHost *:80> # server DocumentRoot, address, and admin email RailsBaseURI /redmine DocumentRoot /srv/www/htdocs </VirtualHost> 我已经在/ srv / www / htdocs / redmine(没有符号链接或任何东西,因为它呻吟)Redmine来源。 由于没有任何工作,我愤怒的适应,我recursion地设置文件的所有权和/ redmine文件夹的模式为wwwrun:www(我的Apache用户和组)和777.你认为这是问题吗? 任何想法或build议不胜感激。 PS。 有什么项目在那里重写在PHP中的Redmine? 大声笑!

build立RVM,乘客/ Apache与多个ruby和作为特定用户运行的最佳做法?

我的目标是在不同的服务器用户下运行ruby应用程序,并使用不同版本的ruby。 所以我会有用户作为“托pipe帐户”本质上。 文档根目录/应用程序文件将与RVMpipe理的ruby版本和gemset一起存在于其主目录中。 用户将有一个或多个networking应用程序需要运行。 此用户站点的虚拟主机将指向用户主目录中的文档根目录,Web服务器也将以该user:group身份有效运行。 示例布局: /home/theuser /.rvm /applications /railsapp1 /public [ other rails dirs ] /somephpapp (symfony, zf, etc.) /public [ other framework dirs ] /www /railsapp1.com (ln -s ../applications/railsapp1/public) /somestaticsite.com /somephpapp.com (ln -s ../applications/somephpapp/public) 所以… 问题1:我甚至有可能? 我知道乘客在虚拟主机级别支持ruby版本和乘客用户(我假设乘客用户等同于指定用户:fcgi,php-fpm,SuExec组),但是我发现所有的intstuction似乎都安装了apache模块特定的RVM用户,这似乎很奇怪。 还是只是创build一个通用用户来安装模块,然后在每个帐户的基础上做所有其他的事情? 问题2:即使这是可能的,设置的正确方法是? 这里最好的做法是什么: networking服务器/应用程序必须作为给定帐户的用户:组运行 必须有能力在每个应用程序的基础上运行不同版本的ruby 每个用户必须能够运行多个应用程序 每个应用程序必须包含在特定用户的主目录下 用户必须沙箱到他/她的homedir(不是一个sodoer) (注意:除了奇怪的shell脚本,我自己也不是ruby dev / user,或者使用compass / zurb-foundation,所以我打开Passenger之外的其他选项,而且这个服务器并不是一个生产环境。

为什么我的请求排队时间这么高?

我正在运行一个Rails应用程序服务器。 我的设置是: Apache 2,使用mod_ssl同时用于https和ssl客户端证书 Phusion乘客5 Rails 4 Ruby 2.1 我使用NewRelic来监视正在运行的应用程序。 我最近启用了请求排队延迟的监控,主要是出于好奇。 我惊讶地发现,请求队列中的延迟通常比实际的ruby代码和数据库执行时间长或长。 〜200毫秒似乎很高,对吧? 大多数在线信息表明,当请求队列正在等待工作人员可用时会发生这种情况,但事实并非如此。 如下所示,我们几乎没有使用我们提供的实例。 在高峰期,我们很less超过30%的利用率。 其他一些说明: Apache和Passenger驻留在同一台服务器上,所以不会因为系统时钟不同步而导致计时错误。 关于SSL处理,Apache抓取客户端SSL证书,并将其附加为请求中的头部。 然后rails应用程序处理剩下的处理。 这里可能是什么问题?

为什么Passenger下的Rails应用程序偶尔会停下来?

我有一个Rails 2.3.2应用程序在Passenger上运行,最近,最奇怪的事情已经开始发生。 每隔一段时间,应用程序就会完全停止处理请求,他们将全部备份,直到他们超时。 重新启动Apache似乎是唯一的出路。 系统处于相对较轻的负载下,直到发生这种情况为止,此时根本没有任何负载。 我意识到这不是很多,但我怎么才能弄清楚是什么原因造成的呢? 值得注意的是,全局排队是打开的; Ruby是ruby-enterprise-1.8.6-20080610; Passenger是上述Ruby Enterprise Edition附带的版本。

服务器似乎空闲的时候,真正的高负载读数

我想知道你们是否遇到过这样的问题,尽pipe没有一个参数似乎表明它很忙,但是报告的服务器负载确实很高。 我需要再次检查,但我认为这只是在我开始乘客后才会发生。 我在一个专用的虚拟主机上。 为什么发生这种情况的任何提示或想法如何debugging这个负载值? 这里是我的顶级阅读,如果需要,我可以提供其他信息。 top – 13:34:38 up 122 days, 19:15, 1 user, load average: 2.44, 2.02, 1.85 Tasks: 51 total, 4 running, 47 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.7%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1048576k total, 797196k used, 251380k free, 0k buffers Swap: 0k total, 0k used, 0k free, […]

为什么passenger-install-nginx-module既没有安装Nginx,也没有在Centos7上实现Passenger支持,而输出结果却是相反的呢?

介绍 目前大约有100名木偶代理人连接到木偶大师。 有时需要一段时间才能对代理商提供的木偶大师进行修改。 一些信息已经被发​​现Passenger与Web服务器相结合,例如Apache2或Nginx可以加速这个过程。 首先,根据本文档 ,强烈build议在生产环境中使用此类function。 目标 其目的是安装Nginx,并使用passenger-install-nginx-module在CentOS7上实现Phusion Passenger支持,以加速识别由Puppet-agent在Puppetmaster上执行的更改。 尝试 尝试1 sudo /usr/local/share/gems/gems/passenger-4.0.56/bin/passenger-install-nginx-module –auto –auto-download被执行,并遵循安装步骤。 尝试2 由于在尝试1期间未安装Nginx服务,因此使用yum -y install nginx进行yum -y install nginx 。 尝试3 谷歌search: "[emerg] unknown directive passenger_enabled" 表示,nginx编译没有Phusion乘客的支持 。 在这种情况下,这应该是错误的,因为passenger-install-nginx-module已经运行,并且尝试1期间的安装输出表示应该已经安装了Nginx。 尝试4 /etc/nginx/nginx.conf passenger_root /usr/local/share/gems/gems/passenger-4.0.56; passenger_ruby /usr/bin/ruby; /etc/nginx/conf.d/puppet.conf passenger_enabled on; 尝试5 要testing是否使用其他Web服务器来执行此问题,请执行sudo /usr/local/share/gems/gems/passenger-4.0.56/bin/passenger-install-apache2-module 。 预期结果 执行passenger-install-nginx-module并完成安装步骤安装Nginx。 可以启动Nginx服务,并包含Phusion-Passenger支持。 检查端口8140是否处于LISTEN状态应该是Nginx启动Puppetmaster的结果。 目前的结果 执行passenger-install-nginx-module并完成安装步骤不会安装Nginx,而输出表明相反。 Nginx with Passenger […]

Nginx + Passenger,得到截断的答复

在Nginx + Passenger中为Redmine中的大附件获取截断的响应。 错误日志如下所示: [ pid=11234 thr=3070954384 file=ext/nginx/HelperAgent.cpp:568 time=2010-11-23 16:05:29.414 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.

多个Rails应用程序在同一个子域?

我最近决定尝试Rails。 在使用PHP时,我只将所有的PHP项目放在同一个目录中。 例如,我可能有http://ubuntu/app1 , http://ubuntu/app2等 我为Rails创build了一个子域( http://ruby.ubuntu ),安装了Rails和Passenger,一切正常。 但是,我可能是错的,但它看起来像我只能有一个Rails应用程序每个子域? 我的VirtualHost如下: <VirtualHost *:80> ServerName ruby.ubuntu ServerAdmin webmaster@localhost DocumentRoot /var/www/ruby/blog/public <Directory /var/www/ruby/blog/public> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all RailsEnv development </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible […]