我为我的rails应用程序运行Nginx和Phusion Passenger,我希望能够configuration乘客。 所有我看到的是如何configuration它运行Apache不能帮助我。 例如,我想更改以下内容 PassengerPoolIdleTime 0 RailsFrameworkSpawnerIdleTime 0 这去哪了? 把它放在我的nginxconfiguration中会导致未知的指令错误。
我使用Passenger + nginx下的多个Rails应用程序在Linode上运行Ubuntu服务器8.04。 今天我注意到需要花费相当多的时间来加载一个页面(5-10秒)。 这不仅是网站,ssh似乎也受到影响。 不知道为什么会发生这种情况,我开始检查不同的事情。 我检查了日志文件是如何旋转的,我检查了是否有足够的可用磁盘空间和内存。 我也检查了IO率,这里的输出: $ iostat avg-cpu: %user %nice %system %iowait %steal %idle 0.17 0.00 0.02 0.57 0.16 99.07 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn xvda 2.25 39.50 16.08 147042 59856 xvdb 0.00 0.05 0.00 192 0 xvdc 2.20 25.93 24.93 96530 92808 xvdd 0.01 0.12 0.00 434 16 xvde 0.04 […]
我使用nginx / passenger的rails。 如果我把一个css文件的expire http头设置为1年,如果我修改那个文件,它会被浏览器忽略(即不会请求新版本)? 鉴于Rails每次重新启动服务器都会为每个资产添加不同的时间戳,例如foo.css?1270165626? 这就是我现在使用的configuration(nginx / passenger): location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ { expires max; break; }
我正在使用Slicehost的384MB VPS运行我自己的Web服务器,以便在单独的虚拟主机上运行两个Ruby on Rails应用程序。 我使用Apache2运行Phusion Passenger。 以下是我的Passenger.conf的内容 <IfModule passenger_module> PassengerRoot /opt/ruby-enterprise-1.8.6-20090610/lib/ruby/gems/1.8/gems/passenger-2.2.11 PassengerLogLevel 0 PassengerRuby /usr/local/bin/ruby PassengerUserSwitching on PassengerDefaultUser nobody PassengerMaxPoolSize 3 PassengerMaxInstancesPerApp 2 PassengerPoolIdleTime 300 # Ruby on Rails Options RailsAutoDetect on RailsSpawnMethod smart NameVirtualHost *:80 </IfModule> 如果我在我的服务器上做了一个“顶部”,我平均使用314MB,这似乎太多了? 我错了,如果不是我可以采取什么步骤来减less内存使用量? 谢谢!
我正在使用nginx的Passenger在虚拟Slice主机上为我的Rails应用程序服务。 我正在考虑放置一个反向代理服务静态内容以及处理etagged行动。 我可以使用现有的nginx安装,只需将其更改为反向代理? 我甚至需要一个Web服务器? 在这种情况下,典型的架构是什么样的? nginx rev-proxy -> nginx web server -> passenger? 要么 nginx rev-proxy -> passenger? 在这种情况下,nginx是最好的select吗? 我的反向代理可以驻留在同一个切片? 谢谢
我有一个Rails应用程序运行在nginx /乘客。 它使用sudo /etc/init.d/nginx stop|start|restart在shell中高兴地sudo /etc/init.d/nginx stop|start|restart 。 但是Passenger在系统重启时会抛出一个错误:“Missing the Rails#{version} gem”。 但是GEM_HOME和GEM_PATH都在/etc/environment设置,所以在重启过程中它们肯定会被所有的进程使用。 在/ etc /环境 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games" GEM_HOME=/var/lib/gems/1.8 GEM_PATH=/var/lib/gems/1.8 /etc/init.d/nginx #! /bin/sh ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: […]
我的公用文件夹中没有index.html文件。 我的轨道路线这个文件路线,并且当我在我的机器上运行“轨道服务器”,它工作正常。 我正在尝试部署应用程序。 我有乘客和nginx运行当我在本地机器上运行rails服务器,它工作正常。 但是当我尝试在生产服务器上访问它时,它只是试图访问静态文件。 这是我的nginx conf: worker_processes 1; #pid logs/nginx.pid; events { worker_connections 1024; } http { passenger_root /usr/lib/ruby/gems/1.9.1/gems/passenger-3.0.2; passenger_ruby /usr/bin/ruby; include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name mmjconsult.com; root /www/mmjs/public; access_log logs/host.access.log; passenger_enabled on; } } 感谢您的任何帮助。 对此,我真的非常感激。
当我尝试启动redmine 1.1.3时出现这个错误: Missing the i18n 0.4.2 gem. Please 'gem install -v=0.4.2 i18n' Missing the i18n 0.4.2 gem. Please 'gem install -v=0.4.2 i18n' 但是,如果我做sudo gem list我得到: ***本地GEMS *** actionmailer(2.3.5) actionpack(2.3.5) activerecord(2.3.5) 主动资源(2.3.5) 主动支持(2.3.5) daemon_controller(0.2.6) fastthread(1.0.7) i18n(0.4.2) mysql(2.8.1) 乘客(3.0.7) 机架(1.0.1) 导轨(2.3.5) 耙(0.8.7) 我猜这与在应用程序运行时在gempath中找不到i18n有关。 有没有人有任何build议如何补救? 我可以补充说,我使用乘客运行redmine。 虽然我也通过使用./script/server来得到这个错误。 现在我已经得到了这个错误(原来只有root可以读取gem,chmod a + r解决了这个错误),但是现在我得到这个错误: [Sun May 29 18:40:55 2011] [error] [client […]
我在Debian 6上运行带有Ruby 1.8的Phusion Passenger(从gem安装)运行Apache2。它给了我下面的LoadError: libMagickCore.so.4: cannot open shared object file: No such file or directory – /var/myapp/rmagick/ruby/1.8/gems/rmagick-2.13.1/lib/RMagick2.so 然而,这个文件存在并且对每个人都是可读的和可执行的,包括Apache。 当我从错误消息复制path并将其粘贴到命令行时,我可以find它(例如与ls)。 所以它显然存在于它声称无法find的确切正确的道路上! 我在这里错过了什么? 谢谢,MrB 编辑:解决! 问题不是没有findRMagick2.so,libMagickCore.so.4没有find。 这是由于使用了Rmagick2.so的错误版本。 在经过一个小时的ImageMagick和RMagick版本之后,它现在可以正常工作。
我在Apache2中安装了一个phusion-passenger网站,该网站在我的networking中位于192.168.0.50。 这里是VirtualHost元素 <VirtualHost *:80> ServerName my_web_host DocumentRoot /var/www/redmine ServerAdmin [email protected] LogLevel debug ErrorLog /var/log/apache2/redmine_error CustomLog /var/log/apache2/redmine_access combined <Directory /var/www/redmine> RailsBaseURI /redmine PassengerResolveSymlinksInDocumentRoot on Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost> 现在,这是我迄今为止已经成功访问它的方式: 能够从局域网中的另一台机器访问该站点**我需要将my_web_host添加到我的/etc/hosts文件,并使用http://my_web_host从浏览器访问它 惹恼我,想改变的事情就是这样 如果我直接用http://192.168.0.50/访问机器,我看到一个来自Apache的通用消息,告诉我它“有效”,但是如果可能的话,我希望它redirect到redmine站点 完全不能接受的事实是,如果我用http://192.168.0.50/redmine访问机器,我可以看到所有的文件和文件夹实际上位于/var/www/website (这实际上是一个红矿的符号链接公共安装文件夹) **这是一个局域网唯一的网站,所以我真的不关心广域网访问,但如果你想教育我如何解决这个问题,当网站也通过公共互联网访问,请一定要随意这样做