情况如下:我使用nginx + passenger将Ubuntu应用服务器上的rails应用程序迁移到带有apache2 +的debian服务器上。 一切都很好,直到我们testing了一些带有handlebars.js和其他脚本的ajax函数加载模板。 这是抱怨的JavaScript调用,所以我安装了一个nginx虚拟主机服务端口8080.然后在Apache虚拟主机上的Apache代理configurationredirect到监听端口8080的nginx服务器。原始服务器工作正常与Nginx,所以我尽pipe这应该起作用,而且确实如此。 但最近我们testing了更多的应用程序菜单,发现它不能上传文件,但是如果我从虚拟主机configuration中删除代理线,这是在apache2上工作。 这是Apache2虚拟主机文件: <VirtualHost 217.13.81.93:443> ServerAdmin [email protected] ServerName design-union.co.uk ServerAlias www.design-union.co.uk vu2029.admin.tantosoft.com LogLevel error ErrorLog /var/log/apache2/design-union.co.uk/error.log #DocumentRoot /var/www/virtual/design-union.co.uk/htdocs DocumentRoot /var/www/virtual/design-union.co.uk/htdocs/current.new/public PassengerLogLevel 3 Alias /errors /var/www/virtual/design-union.co.uk/errors/ SuexecUserGroup vu2029 vu2029 #SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1 <FilesMatch ".+\.ph(p[3457]?|t|tml)$"> SetHandler "proxy:unix:/var/run/php5-fpm-design-union.co.uk.sock|fcgi://design-union.co.uk/" </FilesMatch> <Directory /var/www/virtual/design-union.co.uk> Options +SymLinksIfOwnerMatch Require all granted </Directory> <Directory /var/www/virtual/design-union.co.uk/htdocs> AllowOverride All Options […]
问题 我们最近遇到了这样一种情况:我们的一些服务器实例突然用光盘空间不足了,如下图所示: 磁盘空间不足的原因是单个/tmp/magick-??? 文件,在几分钟内就会变成一个4GB的怪物。 系统设置 为了给我们的系统提供一些背景知识,我们运行了一个大型的rails应用程序,它使用mini_magick 4.7.1和carrier_wave ~0.11.0来通过后台作业执行产品图片上传。 意见 我们自然期待在服务器的使用寿命期间,图像上传会累积一些临时文件,这可以通过运行CarrierWave.clean_cached_files!来挽救CarrierWave.clean_cached_files! 定期。 有什么我们可能错过了?
我试图运行一个相对简单的rails应用程序(http:// www.enkiblog.com/),它有点作品。 当我使用“脚本/服务器-e生产”并连接到端口3000(但仍处于生产模式)时,注释和pipe理界面才起作用。 Nginx将在他的error.log中有这个: 2009/06/02 21:46:10 [error] 11536#0: *18 upstream prematurely closed connection while reading response header from upstream, client: 85.180.23.43, server: *.marc-seeger.de, request: "GET /admin HTTP/ 1.1", upstream: "unix:/tmp/passenger.11520/master/ helper_server.sock:", host: "www.marc-seeger.de" *** Exception NoMethodError in application (undefined method `each' for nil:NilClass) (process 14080): from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/ gems/passenger-2.2.2/lib/phusion_passenger/rack/request_handler.rb: 85:in `process_request' from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/ gems/passenger-2.2.2/lib/phusion_passenger/abstract_request_handler.rb: 203:in `main_loop' […]
我有三个在Slicehost上运行的虚拟linux服务器。 其中两个正在运行2.6.24-23-xen,一个正在运行2.6.18-xen。 所有这三台服务器都运行着几乎相同的软件,但在2.6.24和2.6.18服务器之间top的行为是不同的。 在运行2.6.18的系统上,当没有用户连接时,正在运行的一组进程(按CPU活动sorting)是相当稳定的。 另外两个显示活动的不断变化。 特别是基于Ruby的服务(mongrel_rails,merb和event-machine)不断跳转,并退回列表。 所有的服务器运行ruby1.8.7(2008-08-11 patchlevel 72)。 任何想法,为什么有这样的行为差异?
我有一个专门的debian 5.0服务器,运行“稳定”树。 现在我想安装[testing]ruby1.8.7 – 但我的系统没有configuration通过apt-get安装testing包。 我怎样才能做到这一点? 我只想要ruby进行testing – 所有其他软件包应该用“stable”树进行升级。 你可以帮我吗?
是否可以安装两个模块的PHP和铁路乘客? 我首先安装了libapache2-mod-php5,当我尝试安装libapache2-mod-passenger时,它会尝试删除php模块。 有没有其他方式如何使PHP和Rails在单个Apache安装? 编辑:我使用Ubuntu的x64 Jaunty
我试图设置Apache和乘客服务的Rails应用程序。 不过,我也需要它来提供非公开目录中的静态文件,并优先于这些静态文件在Rails应用程序中的任何东西。 Rails应用程序位于/home/user/apps/testapp和/home/user/public_html的静态文件。 由于各种原因,静态文件不能简单地移动到Rails公用文件夹。 另请注意,根目录http://domain.com/应该由public_html文件夹中的index.html文件提供。 这是我正在使用的configuration: <VirtualHost *:80> ServerName domain.com DocumentRoot /home/user/apps/testapp/public RewriteEngine On RewriteCond /home/user/public_html/%{REQUEST_FILENAME} -f RewriteCond /home/user/public_html/%{REQUEST_FILENAME} -d RewriteRule ^/(.*)$ /home/user/public_html/$1 [L] </VirtualHost> 这对Rails应用程序来说很好,但是对于来自public_html的任何静态内容给出了404。 我也尝试了一个使用DocumentRoot /home/user/public_html的configuration,但是根本不提供Rails应用程序,可能是因为Passenger不知道处理请求。 有趣的是,如果我将条件更改为!-f和!-d,并将重写规则更改为redirect到另一个域,则按预期工作(例如http://domain.com/doesnt_exist被redirect到http://otherdomain.com/doesnt_exist ) 我如何configurationApache来提供这样的静态文件,但允许所有其他请求继续乘客?
这是一个不起作用的URL的例子: http://domain/do?url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fperson http://domain/do?url=http%3A%2F%2Fwww.linkedin.com%2F 但是,下面的URL可以工作: http://domain/do?url=http%3A%2F%2Fwww.linkedin.com 而且,这只发生在Nginx上,使用Passenger和Apache一起工作,但是我们在我们的生产机器上使用了Nginx。 这里是Nginx的错误日志中的条目: 2009/12/01 09:30:51 [error] 6407#0: *136 upstream prematurely closed connection while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: domain, request: "GET /do?url=http%3A%2F%2Fwww.linkedin.com%2F HTTP/1.1", upstream: "passenger://unix:/tmp/passenger.6335/master/helper_server.sock:", host: "domain"
我已经看到了一些地方( 一个例子 ),在Windows 2008上有更新的IIS 7的速度改进。虽然我知道我们可能会看到在Linux机器上运行Ruby on Rails的可能性更大,但是要求依赖于使用Windows的我。 我想知道是否有人知道在Windows环境中的Ruby / Rails的最佳设置。 这台机器将主要运行一个redmine.org实例。
我的开发栏代码库在VirtualBox虚拟机(Ubuntu 9.10 64位服务器)上运行,代码库作为共享(最初通过SMB / CIFS,现在作为VirtualBox共享文件夹)从我的主机(OS X 10.5)装载。 8)。 我遇到的问题是rails bootstrap的“加载环境”阶段需要一个年龄(60秒),例如启动服务器,运行spec,rake任务或脚本/控制台。 虚拟机拥有大量的内存(512Mb,它往往使用大约40%)。 我在我的环境文件中有很多config.gem条目,并删除所有这些将脚本/控制台启动时间降低到20秒,但由于丢失错误,我不认为这是可靠的。 有什么我应该考虑提高启动时间,或者只是我必须忍受我的大申请?