Articles of ruby on rails上

乘客,Nginx和Capistrano – 乘客没有启动Rails应用程序

从本质上讲,我的路线是完美的,乘客似乎正在加载 – 一切都是h d。 除了没有什么Railsy发生。 这里是我的Nginx日志从启动服务器到第一个请求(忽略不同的域/路由 – 这是因为我还没有移动新的域,它返回一个403错误,因为没有索引文件在公用文件夹中): [ pid=24559 file=ext/nginx/HelperServer.cpp:826 time=2009-11-10 00:49:13.227 ]: Passenger helper server started on PID 24559 [ pid=24559 file=ext/nginx/HelperServer.cpp:831 time=2009-11-10 00:49:13.227 ]: Password received. 2009/11/10 00:49:53 [error] 24578#0: *1 directory index of "/var/www/***/current/public/" is forbidden, client: 188.221.195.27, server: ***, request: "GET / HTTP/1.1", host: "***" 2009/11/10 00:49:54 [error] 24578#0: *1 […]

Phusion Passenger 4&nginx无法在Ubuntu Linux中看到环境variables

根据https://www.phusionpassenger.com/documentation/Users%20guide%20Nginx.html#env_vars_passenger_apps中的文档15.3.5 Phusion Passenger应该从.bashrc读取环境variables。 我试图从名为rails的用户帐户使用nginx和Phusion乘客运行一个rails 4.2应用程序,并得到一个502错误的网关错误,当我尝试在浏览器中加载它。 该过程在正确的用户下运行。 当我在Rails应用程序目录中打开ruby控制台时,会看到我的bashrc中的环境variables,包括secret_key_base。 但是,当我尾巴我的nginx日志我得到的错误是,它无法findsecret_key_base。 我试过在其他地方添加这个文件,包括/etc/bash.bashrc和/etc/nginx.conf。

我怎样才能正常地重新启动thin + nginx?

我有我的瘦服务器configurationnginx和我的ROR应用程序正在运行。 当我释放更新到我的代码时运行thin restart导致我的应用程序停机。 我试图找出如何正常重启正在运行的Thin实例,但是我找不到一个好的解决scheme。 有没有人能够实现这一目标?

跨前端服务器共享caching文件的可扩展方式

我有多个后端服务器不断构build和刷新API的公共部分,以caching它。 后端服务器正在build立,取决于在作业队列中要做什么。 一次,后端服务器1将build立: /article/1.json /article/5.json 后端服务器2将构build: /article/3.json /article/9.json /article/6.json 我需要从前端服务器提供这些文件。 caching存储为文件,以便直接由nginx服务,而不需要通过rails栈。 问题是要想方设法在前端服务器上更新caching(添加新的服务器应该是无缝的)。 我考虑过: NFS / S3(但速度太慢) Memcached(但不能直接从nginx服务 – 可能是错误的?) CouchDB直接提供JSON服务(我觉得这个工作太大了) 后端在redis中写json,在前台工作,在好的地方重写文件(目前我最喜欢的选项) 任何经验或更好的方法来实现这个想法?

为什么nginx不能find我的资产?

我在轨道3.2和我的生产设置使用nginx和独angular兽。 我有一个名为sidekiq的rubygem使用的一些资产的问题。 但是,当我要求他们时,这些资产没有得到正确的服务。 我的nginxconfiguration如下所示: upstream unicorn { server unix:/tmp/unicorn.myapp.sock fail_timeout=0; } server { listen 80 default deferred; # server_name example.com; root /home/deployer/apps/myapp/current/public; if (-f $document_root/system/maintenance.html) { return 503;my } error_page 503 @maintenance; location @maintenance { rewrite ^(.*)$ /system/maintenance.html last; break; } location ~ ^/assets/ { gzip_static on; expires max; add_header Cache-Control public; } try_files $uri/index.html […]

找不到JavaScript运行时。 有关可用运行时的列表,请参阅https://github.com/sstephenson/execjs

我在Rails 4.1.7,Phusion Passenger版本4.0.53,ubuntu服务器14.04 AWS实例中的nginx / 1.6.2上有问题,但是使用rails服务器效果不错。 error.log中 App 2029 stdout:App 2029 stderr:sh:1:App 2029 stderr:env:not found App 2029 stderr:App 2029 stdout:[2014-11-12 16:12:26.1580 1979 / 7feff83f9700 Pool2 / Implementation.cpp:287] :无法为application / home / ubuntu / apps / doger生成进程:启动preloader时发生错误。 错误ID:b7381860错误详细信息保存到:/tmp/passenger-error-SUjzpL.html消息来自应用程序:无法findJavaScript运行时。 有关可用运行时的列表,请参阅https://github.com/sstephenson/execjs 。 (ExecJS :: RuntimeUnavailable) /var/lib/gems/1.9.1/gems/execjs-2.2.2/lib/execjs/runtimes.rb:51:in autodetect' /var/lib/gems/1.9.1/gems/execjs-2.2.2/lib/execjs.rb:5:in autodetect' /var/lib/gems/1.9.1/gems/execjs-2.2.2/lib/execjs.rb:5:in autodetect' /var/lib/gems/1.9.1/gems/execjs-2.2.2/lib/execjs.rb:5:in ' /var/lib/gems/1.9.1/gems/execjs-2.2.2/lib/execjs.rb:4:in <top (required)>' /var/lib/gems/1.9.1/gems/uglifier-2.5.3/lib/uglifier.rb:3:in <top […]

application.css和application.js net :: ERR_CONTENT_LENGTH_MISMATCH

我刚刚在AWS EC2上将我的nginx从1.4.2(/ usr / local)升级到了1.4.7(yum)。 我现在在客户端发生了一对错误: GET https://subdomain.mysite.com/assets/application.css net::ERR_CONTENT_LENGTH_MISMATCH GET https://subdomain.mysite.com/assets/application.js net::ERR_CONTENT_LENGTH_MISMATCH 我对此感到不知所措,谷歌并没有太多的帮助。 任何想法从哪里开始? 所有帮助赞赏。 从手动安装切换到YUM安装是否可以解决问题?

如何用nginx / passenger服务多个站点?

我有不同的网站/应用程序使用railsbuild立的,它有不同的域名。 事情是我想从服务器与Nginx /乘客服务他们。 我尝试了一些技巧,但是我不能让它们工作,基本上,我对这方面的信息很less。 所以,我可以在不同的端口上提供不同的网站/应用程序。 但是,如果他们来自aaa.com,并且如果他们是来自bbb.com,则看到应用程序“BBB”,我怎么能让人们看到应用程序“AAA”?

精简很less会引起缺less模板exception

在我的prod服务器上,我有时会遇到Missing templateexception。 该设置是与CentOS5的VPN,ruby1.9.2,Rails 3.2.1,8个Nginx实例,6个瘦实例 所以,这发生在两个主要的意见,很less发生,约。 每1000个请求1次,但是 据我了解薄接收请求,只是处理与真正的例外,但我不明白为什么,因为1000其他1000请求是好的,他们一定是好的。 这是一个文件系统的问题? 或从机器人的locale smth? 例外是这里: From: Exception Notifier <myhost> Subject: [myhost Exception] controllername#actionname (ActionView::MissingTemplate) "Missing template controllername/actionname, application/actionname with {:locale=>[… Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Gm-Message-State: ALoCoQn4St5gK1z… A ActionView::MissingTemplate occurred in controllername#actionname: Missing template controllername/actionname, application/actionname with {:locale=3D>[:en], :fo= rmats=3D>[:html], :handlers=3D>[:erb, :builder, :coffee, :haml]}. Searche= d in: […]

NGINX + Rails:提供静态目录,index.html和所有其他path到轨?

所以NGINX对于我的Rails应用程序来说是非常棒的,但是对于混合静态/dynamic环境下的configuration是否正确还是有点帮助的。 这是一个API,基本上是这样的: 为public / index.html服务,因为为单个静态html页面编写控制器来说“欢迎使用API​​”是愚蠢的。 在blah.com/doc上从/ app / doc提供文档 将所有其他请求发送给代理。 现在我知道我的位置/ try_files等都挤压对方,但我已经尝试了一堆排列,不能让他们一下子工作。 🙂 upstream ss-api { server unix:/tmp/ss-api.socket fail_timeout=0; } server { listen 80 default deferred; server_name localhost; access_log /var/log/nginx/api_access.log; location { root /home/deployer/apps/api/current/public; try_files $uri/index.html $uri.html $uri @ss-api; } location /doc/ { root /home/deployer/apps/ss-api/current/doc; } location @ss-api { proxy_pass http://ss-api; proxy_redirect off; proxy_set_header Host […]