我是一名开发人员,没有太多的pipe理经验。 客户端希望在他的Dreamhost专用服务器(运行Debian)上托pipe一个Rails 3.2应用程序,该服务器已经托pipe了一堆其他站点(都具有相同的IP)。 我很好用Passenger / Apache的设置,但我需要在服务器上的ruby1.9.3。 此外,Dreamhost有一些自定义的Apache设置,我不确定如果所有者稍后通过Dreamhost面板添加新的虚拟主机,手动编辑httpd.conf将会持续。 所以,问题的实质是:在Dreamhost上安装Passenger / ruby 1.9.3堆栈的最佳方式是什么,而不会搞乱现有的服务器?
我有一个应用程序,位于exampleapplication.com。 这是一个坐在Apache /乘客栈上的应用程序。 该应用程序设置为使用子域约束来指向用户帐户(例如user1.exampleapplication.com)。 我希望用户能够透明地将自己的域名指向他们的子域名。 所以exampleuser.com指向exampleuser.exampleapplication.com。 我已经为exampleapplication.com设置了一个Alogging来指向我的服务器。 我已经为exampleuser.com设置了一个Alogging的DNS区域来指向服务器。 在哪个区域放置CNAMElogging?
我目前正在深入研究Puppet和几个清单,我遇到了有关安装的ruby版本或rubygems的问题。 我猜想其他人也可能遇到这样的问题。 由于我无法通过Googlefind正确的指针,所以我想问问是否有人在RVM中使用RVM并在由RVM提供的特定gemset中运行Bundler和Passenger。 我尝试了blt04中的puppet-rvm ,但是它并不能帮助在RVM gemset中运行bundler,而且我也找不到configurationruby应用程序在RVM上下文中运行的信息(例如使用项目.rvmrc)
我看过其他类似的问题,但没有一个答案满意,所以这里就是了。 我已经安装了Ruby,Rails,Nginx和Passenger,并试图将其configuration为一起工作。 这是/opt/nginx/conf/nginx.conf的相关部分 server { listen 80; server_name .myapp.dev; # There is an entry in my local /etc/hosts file for this passenger_enabled on; root /srv/www/myapp.dev/public; access_log /srv/www/myapp.dev/logs/access_log; error_log /srv/www/myapp.dev/logs/error_log warn; } 有另一个server块,但是这是监听localhost所以我不认为这是造成任何问题。 这里是ls -la /srv/www/myapp.dev/的输出 drwxr-xr-x 3 josh josh 4096 Dec 4 19:12 . drwxr-xr-x 3 josh josh 4096 Dec 4 18:34 .. drwxr-xr-x 2 […]
希望这是提出这个问题的正确网站。 我有一个web服务,我试图build立与使用Phusion Passenger乘坐Ruby Sinatra应用程序的NginX。 问题是,当我尝试启动服务器并testing该网站时,出现以下错误: zsh:1: no such file or directory: passenger/buildout/agents/SpawnPreparer 现在,我已经能够确定SpawnPreparer正在调用zsh ,但是,我不知道为什么。 我甚至不使用zsh ,而且在构build服务器时我没有使用它。 不过,我想知道的是,如果可以在nginx.conf中configuration乘客使用不同的shell来产生其进程? 如果是这样,怎么样? 这是Phusion 4.0.14 谢谢!
在一个小团队(最多30人)的服务器上,我安装了几个可以从浏览器访问的服务。 我想用nginx,因为我认为它更轻量级。 所有的服务/应用程序都是独立testing,并完成他们的工作。 但是当把它们放在一起被子文件夹(比如teamserver.local / service1,或者teamserver.local / service2)分开的时候,在重写规则和代理传递的时候,我感到非常挣扎。 我只是不能让子文件夹configuration工作。 这是我的默认configuration: server { listen 80; server_name teamserver.local; rewrite ^ https://$http_host$request_uri? permanent; # redirect to https! } server { listen 443; server_name teamserver.local; root /var/www; ssl on; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES"; ssl_prefer_server_ciphers on; location /service1 { […]
我正在Digital Ocean部署一个Rails应用程序( Fedena项目 )给VPS。 我可以使用mongrel_rails start和ruby script/server启动我的应用程序没有问题。 它绑定到端口:3000,我可以根据需要使用该应用程序。 问题是用Phusion Passenger,但是我已经安装了gemgem install passenger但是当我运行passenger start从我的Rails应用程序根目录开始时,有一个权限问题,似乎并不是Mongrel或Webrick的情况: =============== Phusion Passenger Standalone web server started =============== PID file: /root/fedena/tmp/pids/passenger.80.pid Log file: /root/fedena/log/passenger.80.log Environment: production Accessible via: http://0.0.0.0:3000/ You can stop Phusion Passenger Standalone by pressing Ctrl-C. Problems? Check https://www.phusionpassenger.com/documentation/Users%20guide%20Standalone.html#troubleshooting =============================================================================== 2015/03/08 01:35:03 [error] 18827#0: *4 directory index of "/root/fedena/public/" is […]
我已经在服务器上安装了ClearOS发行版(应该是基于centos 7的发行版),我想使用它。 但是,当我尝试安装它,我遇到了这个错误: Error: Package: passenger-5.0.22-8.el7.x86_64 (passenger) Requires: selinux-policy >= 3.13.1-60.el7 Installed: selinux-policy-3.13.1-23.el7_1.21.noarch (@clearos-centos-updates) selinux-policy = 3.13.1-23.el7_1.21 Available: selinux-policy-3.13.1-23.el7.noarch (clearos-centos) selinux-policy = 3.13.1-23.el7 Available: selinux-policy-3.13.1-23.el7_1.7.noarch (clearos-centos-updates) selinux-policy = 3.13.1-23.el7_1.7 Available: selinux-policy-3.13.1-23.el7_1.8.noarch (clearos-centos-updates) selinux-policy = 3.13.1-23.el7_1.8 Available: selinux-policy-3.13.1-23.el7_1.13.noarch (clearos-centos-updates) selinux-policy = 3.13.1-23.el7_1.13 Available: selinux-policy-3.13.1-23.el7_1.17.noarch (clearos-centos-updates) selinux-policy = 3.13.1-23.el7_1.17 Available: selinux-policy-3.13.1-23.el7_1.18.noarch (clearos) selinux-policy = 3.13.1-23.el7_1.18 我不知道什么是缺less什么,或者我怎么能更新selinux政策,所以它将与乘客工作。
这可能是一个Nginx的皱纹,也可能是因为我不懂Unix的权限。 我们使用Hudson CI来部署我们的临时实例。 所以RAILS_ROOT是/var/lib/hudson/jobs/JOBNAME/workspace 。 哈德森作为哈德森用户运行 Nginx作为www-data用户运行 hudson和nginx都是www组的成员 根据我的nginx conf指向RAILS_ROOT/public按照正常。 RAILS_ROOT/config/environment.rb属于www-data (所以Passenger作为www-data运行) RAILS_ROOT及其中的所有内容由www组拥有,组具有r / w / x权限 就目前而言,Nginx在请求任何url时都403 permission denied了403 permission denied 。 error.log包含这样的条目: public/index.html" is forbidden (13: Permission denied) 。 这些并没有解决或改变错误(每一个停止/开始的Ngnix): chmod 777 -R RAILS_ROOT chgrp www -R /var/lib/hudson 我也以root身份尝试过Nginx,并且乘客抱怨找不到config/environment (尽pipe错误页面显示的path是正确的)。 解决的办法是确保everybody都有读取权限在每个目录在heirachy 。 在这种情况下, chmod o+r /var/lib/hudson 。 但是,如果该组对目录具有读取权限,并且nginx是该目录所有者组的成员,为什么需要允许所有人读取权限? 有什么没有关于权限grokked? $nginx -V nginx version: […]
我有一个小的RoR应用程序,使用RMagick生成图像,性能不是在我认为会的地方。 服务器configuration是运行Rails 3.1RC4 / Ruby 1.9.2 / Nginx / Passenger的EC2上的64位Ubuntu 11.04映像。 我已经尝试了几个不同的Amazon实例types,从小(32位图像)到c1.xlarge,结果非常相似。 激发ApacheBench(ab -n 10 -c 1)给我一个可接受的300ms的平均响应时间,testing在大约2秒钟内完成,但是增加到5个并发甚至2个并发请求将性能降低到1500ms,并且testing需要更长的时间。 即使在大型实例types中,ab运行(ab -n 10 -c 10)也会使系统降低到5000ms。 我预计响应时间将保持非常一致,但总时间会下降。 这是不正确的假设吗? 在每次testing中,内存永远都不会很高(<1GB),但是CPU运行在100%。 我的MacBook Pro运行开发模式可以匹配这些数字。 它几乎看起来像什么东西是单线程的地方。 该应用程序几乎是你可以得到的简单,唯一复杂的是RMagick调用。 是否有RMagick导致线程问题? 是否有更好的RoR应用程序服务器(Unicorn,Mongrel群集等)? 我是否正确使用ApacheBench? UPDATE 我添加了一些新的纯文本路由到configuration,他们performance非常好。 纯文本返回32K几乎没有导致CPU任何问题,我可以达到72瑞奇/秒(这可能受限于我的互联网连接,而不是EC2服务器)。 返回5字节超过250 req /秒。