秘密文件应该如何通过弹性beanstalk使用amazon web services推送到EC2 Ruby on Rails应用程序? 我将这些文件添加到一个git仓库中,然后推送给github,但是我想把我的秘密文件保存在git仓库中。 我正在部署到aws使用: git aws.push 以下文件位于.gitignore中: /config/database.yml /config/initializers/omniauth.rb /config/initializers/secret_token.rb 在此链接之后,我尝试将S3文件添加到我的部署中: http : //docs.amazonwebservices.com/elasticbeanstalk/latest/dg/customize-containers.html 从这个链接引用: 示例片段 以下示例从Amazon S3存储桶下载压缩文件,并将其解压缩到/ etc / myapp中: sources: /etc/myapp: http://s3.amazonaws.com/mybucket/myobject 遵循这些说明,我将file upload到S3存储桶,并将以下内容添加到.elasticbeanstalk .ebextensions目录中的private.config文件中: sources: /var/app/current/: https://s3.amazonaws.com/mybucket/config.tar.gz 该config.tar.gz文件将提取到: /config/database.yml /config/initializers/omniauth.rb /config/initializers/secret_token.rb 但是,在部署应用程序时,S3主机上的config.tar.gz文件不会被复制或提取。 我仍然收到错误,无法finddatabase.yml和EC2日志没有configuration文件的logging,这里是错误消息: Error message: No such file or directory – /var/app/current/config/database.yml Exception class: Errno::ENOENT Application root: /var/app/current
在Apache2 / Ubuntu上托pipe的Ruby on Rails应用程序中,需要采取什么措施来设置SSL?
我正在用nginx 1.6.2和Unicorn做一个capistrano安装程序。 但在我目前的设置下,nginx不会创build我已经写在con文件中的服务器。 我确定其权限错误为我的用户的目录,因为这是conf文件位于两个rails应用程序目录下。 我的nginx文件如下: user mjp nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; […]
我在Fedora Linux服务器上部署了一个应用程序。 这个应用程序是一个Ruby on Rails的Web应用程序,使用MySQL和MongoDB作为数据库。 应用程序还使用“延迟作业”gem进行asynchronous处理。 我使用NGinx作为Web服务器。 我也使用乘客。 所以,我至less有5个过程,我必须担心: MySQL进程 MongoDB进程 Nginx进程 用于Web应用程序的Ruby企业版过程 Ruby Enterprise Edition进程的延迟作业gem 不幸的是,所有这个过程将运行在同一个虚拟机:( 对我来说,监视是非常重要的: 每个进程的状态 每个进程的内存和CPU使用情况 整体I / O使用情况 总的CPU和内存使用情况 数据库连接池的使用(所以我可以调整它) 我想要一个可以给我监控数据的工具,为CPU和内存数据创build基于时间的graphics。 我也希望能够通过networking访问所有这些进程的日志文件。 我的公司没有购买昂贵工具的许可证的预算,所以我真的会优先select开源工具。 你们推荐哪个工具,哪个或哪些工具? 问候, Rubem
例如,我有前端导轨应用程序,该应用程序可以根据URL来反向代理许多后端导轨应用程序 http://www.my_host.com/app_one反向代理到http://www.remote_host_running_app_one.com 这样像http://www.my_host.com/app_one/users这样的URL将显示http://www.my_host.com/app_one/users的内容 我有一个庞大而且不断扩大的后端数量,所以他们不能在数据库以外的任何地方明确列出。 这对使用prg:/ rewrite映射反向代理的mod_rewrite没有任何问题。 问题是,由rails助手返回的url具有/controller/actionforms,使得它们绝对是根。 这是由mod_rewrite提供的页面的问题,因为代理页面上的链接对域显示为绝对的。 即: http://www.my_host.com/app_one/controller/action有链接,最终看起来像/controller/action/当他们需要看起来像/app_one/controller/action mod_proxy_html似乎是正确的想法,但它似乎并不像我所需要的那样dynamic,因为规则需要被硬编码到configuration文件中。 有没有办法解决这个服务器端,以便链接将被正确路由?
我有一个Ubuntu服务器运行三个独立的Rails(2.3.8)与Passenger,稀土和Apache的应用程序。 最近我们开始遇到ruby进程消耗内存和消耗服务器上整个内核的问题。 这是我们得到的… %CPU PID USER COMMAND 99.9 1717 nobody Rails: /var/www/api 99.6 5542 nobody Rails: /var/www/api 97.3 1223 nobody Rails: /var/www/api 4.7 5537 nobody Passenger ApplicationSpawner: /var/www/api 10.5 1801 nobody Rails: /var/www/api 我们也看到有超过100个Apache运行实例的例子。 这些应用程序已经运行了几个月没有这些问题,但在最后一天左右,我们一直在注意到这一点。 这里引用的网站是一个Rails应用程序,它是一个RESTful API,因此它每分钟都会提供很多请求。 任何有关我们应该检查或寻找的指导,将不胜感激。
我有centos CENTOS 5.5 x86_64。 apache 2.2 nginx / 0.8.54 rails 3 ruby 1.8 passenger它的cpanel。 我想要完成的是将图像上传到/ tmp,然后将其移动到nginx服务器的doc根目录。 将会有很多图像,我希望它们在rails应用程序之外。 我已经完成了这个在Ubuntu上没有问题,但我不能在生产中使用Ubuntu的。 在轨道控制台作为非root用户login我可以做到这一点 FileUtils.copy( '/ TMP / p15s3pt9sm1303tmj1brh1n14dtg8.jpg', '/ nginx的/主/') 但是在rails应用程序中这个相同的代码会产生Errno :: EACCES(Permission denied – /nginx/main/p15s9i103q19331cob1oap1l8hvoae.jpg) 我已经试过所有我能想到的与符号链接,我已经尝试只是把权限打开。 我改变了所有者和组没人。 有谁知道我的问题是什么? 以及如何解决它?
我正在尝试使用lighttpd,一些自定义Ruby代理,rails / ramaze(在Thin上运行)和PHP的组合来创build相当复杂的设置。 目前它是这样设置的: 浏览器发出点击lighttpd前端的请求。 lighttpd是用mod_proxy设置的,将这个请求路由到我自定义devise的许多Ruby代理之一。 proxy.balance = "fair" proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => 9090 ), ( "host" => "127.0.0.1", "port" => 9091 ) ) ) 该请求被转发到其中一个Ruby进程,然后打开一个新的连接到运行应用程序的许多瘦实例之一。 它使用了一些负载均衡魔术以及一组networking服务器。 瘦实例生成页面,将其发送回代理,代理将该页面发回给lighttpd,由lighttpd将其提供给浏览器。 我的问题是,鉴于上述体系结构,将PHP支持添加到此群集中的最佳方式是什么? PHP需要在Ruby代理之后运行,这样我就可以区分PHP和Ruby请求,并将它们路由到正确的位置,但是我找不到适用于PHP的精简型服务器。 我应该手动启动群集上的php-cgi,然后添加FCGI支持到我的Ruby代理? 还是应该在每台服务器上启动一个新的lighttpd实例来专门生成PHP页面(我觉得这与使用Ruby的瘦模型最接近,但是担心开销和缺乏控制)。 请记住,每个应用程序都需要入侵它自己的* nix帐户,一些应用程序在多个服务器上占用10多个帐户。 我还需要一种方法来正确地限制PHP应用程序使用的服务器资源的数量(也许通过每个* nix acount启动一个或两个php-cgi实例?)。
几个月前,我使用apache,passenger和virtualhost设置了一个rails应用程序,并且我(最终)让一切正常工作。 现在我正在尝试在同一个盒子上托pipe另一个应用程序。 我已经添加了新的虚拟主机(见下面 – app2),并编辑我的主机文件指向托pipeIP(192.xx10),但是当我inputapp2.host.com我得到的app1。 另外,当我浏览到http://192.xx10时,我会自动获取app1。 这是正常的吗? 我的httpd.conf文件如下所示: LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-3.0.9/ext/apache2/mod_passenger.so PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.9 PassengerRuby /usr/bin/ruby1.8 <VirtualHost *:80> ServerName app1.host.com DocumentRoot /var/www/app1/public <Directory /var/www/app1/public> AllowOverride all Options -MultiViews </Directory> ErrorLog /var/log/apache2/error.log </VirtualHost> <VirtualHost *:80> ServerName app2.host.com DocumentRoot /var/www/app2/public <Directory /var/www/app2/public> AllowOverride all Options -MultiViews </Directory> ErrorLog /var/log/apache2/error.log </VirtualHost> 我已经做了很多的研究,我看到的一切似乎都表明我缺less一个NameVirtualHost *:80但是我已经在我的ports.conf文件中包含了这个。 我真的希望有人能帮助我。 我在Ubuntu服务器上。 预先感谢您提供的任何帮助。
我想在最新的Debian 6.0.4上安装Gitorious,但我遇到了一些问题,希望有人在这里谁可能能够帮助。 我遵循这篇文章: http : //gitorious.org/gitorious/pages/DebianSqueezeInstallation 我安装了所有第三方应用程序的最新版本,如Ruby-Enterprise,Sphinx和ActiveMQ。 难道它必须与一些不兼容的版本或“gem”? 这是我尝试启动守护进程时的错误: /etc/init.d/git-daemon start Starting git-daemon: /var/www/gitorious/vendor/plugins/ultrasphinx/lib/ultrasphinx/ultrasphinx.rb:201: private method `chomp' called for nil:NilClass (NoMethodError) from /var/www/gitorious/vendor/rails/activesupport/lib/active_support/dependencies.rb:158:in `require' from /var/www/gitorious/vendor/rails/activesupport/lib/active_support/dependencies.rb:158:in `require' from /var/www/gitorious/vendor/plugins/ultrasphinx/lib/ultrasphinx.rb:15 from /var/www/gitorious/vendor/rails/activesupport/lib/active_support/dependencies.rb:158:in `require' from /var/www/gitorious/vendor/rails/activesupport/lib/active_support/dependencies.rb:158:in `require' from /var/www/gitorious/vendor/plugins/ultrasphinx/init.rb:2:in `evaluate_init_rb' from /var/www/gitorious/script/../config/../vendor/rails/railties/lib/rails/plugin.rb:158:in `evaluate_init_rb' from /var/www/gitorious/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnings' from /var/www/gitorious/script/../config/../vendor/rails/railties/lib/rails/plugin.rb:154:in `evaluate_init_rb' from /var/www/gitorious/script/../config/../vendor/rails/railties/lib/rails/plugin.rb:48:in `load' from /var/www/gitorious/script/../config/../vendor/rails/railties/lib/rails/plugin/loader.rb:38:in `load_plugins' from /var/www/gitorious/script/../config/../vendor/rails/railties/lib/rails/plugin/loader.rb:37:in […]