尝试使用rc.local启动Passenger Standalone时出现问题。 我的服务器是: Ububut 16.04 使用ServerPilot进行configuration Ruby 2.4.1从源码build立 所以现在我试图将代理转换为Passenger Standalone,但是我无法在启动时启动它。 我的rc.local脚本如下所示: #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable […]
漫长的网站,有时最终给502 Bad Gateway 很多地方,交换使用40/1024 但是failed (104: Connection reset by peer) while reading response header from upstream nginx日志显示错误failed (104: Connection reset by peer) while reading response header from upstream 试图重新启动nginx,杀死进程。 告诉我如何用nginx解决这个问题?
安装gem时没有错误,并且使用Passenger和Apache2 Server完美configuration。 当我部署我的rails应用程序时,没有错误。 让我显示我的gemfile。 ruby "2.4.1" gem 'rails', '5.1.4' gem 'puma' gem 'pg' gem "bower-rails", "~> 0.11.0" gem 'd3_rails' # Auth gem 'devise' gem 'omniauth-facebook' gem 'omniauth-twitter' gem 'omniauth-google-oauth2' # Front-end gem 'react-rails' gem 'bootstrap-sass' gem 'sass-rails' gem 'font-awesome-sass' gem 'uglifier' gem 'autoprefixer-rails' # See https://github.com/rails/execjs#readme for more supported runtimes # gem 'therubyracer', platforms: :ruby […]
我被困在非常奇怪的Nginx的行为。 我有2个RoR网站,与Puma.First网站(app1.com)工作就像应该,但是当我尝试访问app2.com,我只是得到app1.com页面,但与域名app2。 COM。 最感兴趣的是,如果在nginx.conf中我replace了/ etc / nginx / sites-enabled / ; *以直接链接到站点(即sites-enabled / app2; sites-enabled / app1;)我可以得到来自app2的正确响应,但是app1会更改app1的位置。 我错过了什么? 所以这是我的Nginxconfiguration: upstream puma { server unix:///home/dev/www/apps/app1/shared/tmp/sockets/puma_app1.sock; } server { listen 80; server_name app1.com root /home/dev/www/apps/app1/current/public; access_log /home/dev/www/apps/app1/shared/log/nginx.access.log; error_log /home/dev/www/apps/app1/shared/log/nginx.error.log info; try_files $uri/index.html $uri @puma; location @puma { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_redirect off; proxy_pass http://puma; […]
我正在为具有login用户的dynamic内容的电子商务平台工作,但对于注销的用户,许多页面(如产品页面和类别页面)相对静态。 Rails已configuration为在访问时将特定注销页面的副本保存到磁盘。 我希望nginx在检测到注销的用户时提供这些文件。 当用户login时,我们有一个cookie设置,所以我的希望是我可以检查这个。 我的'理想'nginxconfiguration看起来像(在服务器块): location /my_location { if (!$cookie_user_logged_in) { try_files /cached_pages/$uri /cached_pages/$uri.html $uri $uri/index.html $uri.html @rails_application; } } 但是,这是无效的,因为据我所知,根据研究和错误消息,不能把try_files放在if中。 有没有办法用nginx来完成这个任务? 有人告诉我,我应该用另一种工具,如清漆。 我也知道,我可以在Rails中使用动作caching来做事情,并使用片段caching来接近相同的目的。 不过,我想确定这是否是一个可行的select,然后再添加到技术堆栈或进一步投资开发。
我正在运行一个运行Passenger和MySQL的Rails应用,在运行Ubuntu Intrepid的VPS上,今天早些时候,Web服务器停止了能够连接到服务器。 我的例外通知程序发送给我一个消息,出现这个错误: ActionView::TemplateError: Mysql::Error: MySQL server has gone away: SELECT * FROM `table_name` WHERE (`table_name`.`id` = 70) 在试图打开mysql的vps中,给了我这个: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 我通过停止apache来清除这个错误,重新启动数据库服务器,并重新启动乘客,这似乎有一切嗡嗡声再次罚款,但这并不能解决这个问题,为什么这件事发生在第一位。 我应该找哪些地方find这个错误的原因? (除了production.log,或者是一个/ var / log),所以我可以在将来避免这种情况,并且看到这个问题很简单,如果这些情况再次发生,值得自动重启两台服务器未来?
我使用NGINX,Rails和MySQL创build了一个Web应用程序。 目前他们都在一个单一的VPS(Slicehost)上运行。 我遵循最佳实践,并保持一个非常小的“无共享体系结构”,这个想法是,如果我需要扩展,我只需要增加几个片来满足需求。 有了这样的想法,我想尽可能降低成本,那么根据需要带来额外的切片是一个很好的策略? 我最初的想法是我应该运行3个VPS。 两个用于主/从configuration的数据库,另一个用于NGINX / Rails。 随着负载的增加,根据需要将其他NGINX / Rails服务器升级到其他服务器处理负载平衡的原始服务器。 你的想法?
我正尝试上传一个与bluehost共享主机上的回形针gem的Rails应用程序中的文件。 它在本地工作正常,但是在我尝试上传文件的时候,只要将文件redirect到索引,并在日志目录中popup一个名为fastcgi.crash.log的新日志文件。 它说: [18/Nov/2009:09:12:19 :: 23593] asked to stop immediately [18/Nov/2009:09:12:19 :: 23593] stopping after explicit exit [18/Nov/2009:09:12:23 :: 3679] starting 我的原始访问文件如下所示: 67.182.234.77 – – [18/Nov/2009:09:12:32 -0700] "POST /images HTTP/1.1" 301 421 "http://paperclip.ryanflorence.com/images/new" "user agent stuff" 为什么它给一个301永久移动的redirect是奇怪的… 有任何想法吗?
如果她或他访问了我们的Rails应用程序,我们曾经有一个每.htaccess工作设置redirect访问者到一个规范的URL(为SEO的原因,减less双倍的内容): RewriteEngine on RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] RewriteRule ^(.*) http://www.example.com/$1 [L,R=301] 这实质上意味着:如果浏览器指向除example.com以外的其他内容,则将其redirect到www.example.com,此设置以前可用,但现在失败。 没有错误,如果访问不存在的内容,或者访问由rails应用程序提供的URI,它就不起作用。 如果我把一个静态文件或php文件放在RAILS_ROOT / public中,然后访问那个redirect工作。 我们的导轨应用程序使用乘客部署。 .htaccess文件放在RAILS_ROOT / public中。 自更新其中一个组件后,它似乎停止工作,但我们无法确切地知道这是什么时候。 乘客模块一段时间以来一直没有更新,所以我希望从原因列表中排除。 任何线索如何解决这个问题或通过另一种方式恢复function? 使用:Gentoo Linux,Apache 2.2.11,Passenger 2.0.6 乘客升级目前不是一个真正的select,因为它修改了符号链接parsing行为。
我有一个rails应用程序在客运/阿帕奇2.2.3 / RHEL上运行。 一切工作正常,直到我不得不重新启动Apache。 一旦我这样做,我收到以下消息: 缺lessRails 2.3.4gem。 请gem install -v=2.3.4 rails ,在config / environment.rb中更新您安装的Rails版本的RAILS_GEM_VERSION设置,或者注释掉RAILS_GEM_VERSION以使用安装的最新版本。 我不知道该怎么做,因为应用程序之前运行良好。 我确实touch restart.txt ,尝试重新启动它,再次从Capistrano部署,并删除/再次安装rails gem,但没有任何工作。 rails -v打印Rails 2.3.4。