我以前运行过两个Ruby和Rails应用程序,其中一个使用rails console命令,另一个使用Apache trough Phusion Passenger。 两个应用程序运行在相同的IP,唯一的区别是应用程序运行在轨道控制台可以从端口3000访问。 现在,我想用Apache运行这两个应用程序,但是我知道configuration要做什么。 我读了一些VirtualHosts,但我不明白。 考虑到我只有一个服务器和一个域,我只是使用了不同的端口。 我尝试了几次类似这样的事情: <VirtualHost *:80> #ServerAdmin @dummy-host.example.com DocumentRoot /webserver/myapp/public ServerName myapp-Development <Directory /webserver/myapp/public> AllowOverride all Options -MultiViews </Directory> ErrorLog logs/k2-error_log CustomLog logs/k2-access_log common </VirtualHost> <VirtualHost *:3000> #ServerAdmin @dummy-host.example.com DocumentRoot /webserver/myapp2-admin/public ServerName myapp2-admin <Directory /webserver/myapp2-admin/public> AllowOverride all Options -MultiViews </Directory> #ErrorLog logs/k2-error_log #CustomLog logs/k2-access_log common </VirtualHost> 没有工作,我只需通过在浏览器中inputIP访问第一个应用程序。 如何在不同端口的同一台服务器上安装2个RoR应用程序? 要么 […]
我正在尝试在12.04上安装nginx和乘客支持 我以前使用过brightbox回购,但现在不起作用。 我也试过ppa:nginx / stable,但是当我尝试运行sudo apt-get install nginx-passenger我得到: 正在读取软件包列表…完成 build立依赖关系树 阅读状态信息…完成 有些软件包无法安装。 这可能意味着你有 要求一个不可能的情况,或者如果你正在使用unstable 一些所需的软件包尚未创build的分布 或已被移出Incoming。 以下信息可能有助于解决这种情况: 以下软件包具有未满足的依赖关系: nginx-passenger:取决于:nginx-common(= 1.0.14-1ppa1〜precise),但要安装1.2.0-1ppa1〜precise 取决于:ruby-passenger(> 3.0.11debian),但不能安装 E:无法纠正问题,你已经拿破包了。 关于搁置的最后一部分似乎是无效的, dpkg –get-selections | grep hold dpkg –get-selections | grep hold : netatalk hold 并searchnginx显示他们列为deinstall 。 我究竟如何解决这个问题?
我想要使用子目录在多个服务器上托pipe多个Rails应用程序。 并遇到一些相对path问题。 我已经做了一个符号链接到应用程序的公共目录,并将其放置在/ var / www / html目录中, var/www/html/ /test_app (symbolic link to the public folder of test_app) 并设置为Apache LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.12/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.12 PassengerRuby /usr/local/bin/ruby <VirtualHost *:80> ServerName test.com DocumentRoot /var/www/html Options Indexes FollowSymLinks -MultiViews RailsBaseURI /test_app </Location> </VirtualHost> 应用程序本身的链接工作正常,所有链接都承认test_app /目录并且工作,但是,在显示视图中的公用目录中的图像时,相对path出错。 说我有 /system/files/1/aaa.png 它正在寻找它 /var/www/html/system/files/1/aaa.png 而不是 /var/www/html/test_app/system/files/1/aaa.png 据我了解,这是一个Apache的设置问题,而不是在Rails中完成,如果可能的话,我宁愿将它包含在Apache的conf文件中,而不必更改代码。
我遇到了一个间歇性的错误与我的Ruby应用程序,我试图找出上下文。 我正在Apache上运行mod_passenger(在Dreamhost上,如果有的话)。 我得到的错误是: [ pid=12404 file=ext/apache2/Hooks.cpp:727 time=2012-04-30 02:59:02.949 ]: Unexpected error in mod_passenger: Could not send data to the ApplicationPool server: write() failed: Bad file descriptor (9) Backtrace: in 'virtual boost::shared_ptr<Passenger::Application::Session> Passenger::ApplicationPoolServer::Client::get(const Passenger::PoolOptions&)' (ApplicationPoolServer.h:402) in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:523) (这就是我知道我正在运行mod_passenger。)我试图做一个gem list | grep passenger gem list | grep passenger ,但没有任何事情。 我可以在/dh/apache2/template/lib/modules看到这个模块,我只是不知道如何确定版本是什么。
看过这个问题问了几次,尝试了几个张贴的解决scheme,没有任何运气。 安装了phusion乘客w / nginx,运行ruby 1.9.3下的多用户rvm安装 有点熟悉nginx和通过uwsgi部署Python应用程序 – 这一个让我难住 我的nginx vhostconfiguration粘贴在下面: server { listen 80; server_name EXAMPLE.COM; access_log /home/redmine/logs/nginx_access.log; error_log /home/redmine/logs/nginx_error.log; client_max_body_size 10m; keepalive_timeout 120; root /home/redmine/redmine-repo/public; passenger_enabled on; } 供参考的静态文件正确地被服务 例如当我尝试访问:http: //EXAMPLE.COM/images/duplicate.png 它显示得很好 – 我已经将整个/ home / redmine目录设置为chmod -R 0777 / home / redmine 思考我错过了configuration方面的东西 – 任何想法我失踪?
问题:我相信我已经完成了部署我的应用程序所需的一切,但是当我去到我的新URL时,浏览器出现“问题加载页面,服务器花了很长时间回应”错误。 统计: 我正在首次通过EC2进行部署。 我有一个与Ubuntu 12.04运行的实例,具有相关的弹性IP RVM已安装; 我正在运行Ruby 1.9.3-p194和Rails 3.2.6 我通过Passenger安装程序,按照指示安装了Apache包,并编辑了conf文件。 我还从namecheap.com购买了一个域名,并列出了我的EC2弹性IP作为主机。 我的应用程序位于/ var / www(例如,我的'app'文件夹位于/ var / www / app等等) 不知道,如果这是相关的,但我用git拉我的应用程序到服务器上。 编辑:感谢评论者,我能够缩小这个问题:这是对我的EC2实例的安全性 – 请求永远不会到达Apache2。 我的安全组是我自己制作的(不是“默认”),并且有三条规则,都在TCP下:1)允许在端口22上访问SSH; 2)允许在端口80上进行HTTP访问; 3)允许端口443上的HTTPS访问。允许的IP为0.0.0.0/0。 我是否需要更多规则? SSH工作正常。 这是端口扫描的结果: $ nmap -P0 -p80 ec2-xx-xx-x-xxx.compute-1.amazonaws.com Starting Nmap 5.21 ( http://nmap.org ) at 2012-07-16 18:16 UTC Nmap scan report for ec2-xx-xx-x-xxx.compute-1.amazonaws.com (yy.yy.yyy.yyy) Host is up. rDNS […]
我有一个ruby的rails应用程序运行在apache2与phusion-passenger。 该应用程序完美地运行在本地可信networking上,但无法在我们的无线(不可信任)或任何外部networking上访问。 我可以ping外部networking上的服务器,但我没有得到任何访问默认页面或ssl页面的url。 我已经通过我们的networking服务确认防火墙上的所有内容都已正确configuration。 我目前已经设置通过https转发非安全stream量,configuration是: 默认: <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www Redirect permanent / https://www.example.com/ </VirtualHost> 默认的SSL: <IfModule mod_ssl.c> NameVirtualHost *:443 <VirtualHost *:443> ServerName www.example.com ServerAdmin webmaster@localhost DocumentRoot /var/rails/example/current/public <Directory /var/rails/example/current/public> AllowOverride all Options -MultiViews RailsEnv production </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined SSLEngine on SSLCertificateFile /usr/local/ssl/public/certificate.crt SSLCertificateKeyFile /usr/local/ssl/private/example.key SSLCertificateChainFile /usr/local/ssl/crt/intermediate.crt <FilesMatch […]
我正在运行一个Ruby on Rails应用程序,我使用Passenger Nginx,Ruby on Rails 3.2,searchgem Sunspot(使用Solr作为search引擎)。 我的应用程序可以与大约6K的活跃用户一起工作,但是当像15K活跃用户那样的stream量飙升时,它的速度是不可接受的。 我检查了newrelic日志,看到I / O使用情况,但我不明白。 你可以看到“写”远远超过“读”。 我不明白这是因为大多数用户正在使用GET请求,这与阅读行动有关,我猜。
我正在尝试在nginx中使用以下configuration进行proxy_pass: location /abc_service { proxy_pass http://127.0.0.1:3030; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } 但我得到/ abc_service作为前缀在我的应用程序(rails应用程序运行在端口3030)。 例如:我得到'/ abc_service / users / sign_in'应该是'/ users / sign_in' 我想删除这个前缀。 它在Apache中工作正常: ProxyPass /abc_service http://localhost:3030 timeout=300 KeepAlive=On ProxyPassReverse /abc_service/ http://localhost:3030/
我们正在寻找主办一些50-100轨应用程序。 什么是最好的服务器模型来处理这个? 按照服务器模式,我的意思是像多个负载均衡服务器或每个站点的小VPS等。 我已经使用“mod_rails”了,估计每个站点都会运行大约100mb的内存。 任何build议将不胜感激。