我有一个rails应用程序部署在一个amazon ec2 ubuntu实例,configuration与nginx工作正常。 问题是,当我尝试在Facebook上发布网站的url而没有https http://example.com或www.example.com时,它会以“welcome to nginx”的forms发布网站的标题,而不是描述已经在meta标签中设置。 当点击链接redirect到网站,因为它应该但我想摆脱“欢迎nginx”文本,并希望看到在元标记中设置的说明。 但是,使用https发布url会发布元标记中提供的正确信息。 另一方面,使用或不使用https的情况下在浏览器中input网站的URL也应该redirect到该网站。 这里是我的应用程序的nginxconfiguration: server { listen 443 ssl; ssl on; server_name myipaddress; passenger_enabled on; rails_app_spawner_idle_time 0; passenger_min_instances 1; root /home/ubuntu/example/public; ssl_certificate (.pem file path); ssl_certificate_key (.key file path); } server { listen 80; server_name myip; return 301 https://$server_name$request_uri; } server{ listen 80; server_name example.com; return 301 https://www.$server_name$request_uri; […]
我有一个Ubuntu的EC2实例,我想在启动时启动我的Rails服务器。 所以我有一个脚本: start.sh #!/bin/bash # # Start Rails Server cd ~/spree rails server -d 我有我的rc.local: 在rc.local #!/bin/sh -e # # rc.local # sudo -u ubuntu -i ~/start.sh exit 0 如果我运行“sudo /etc/init.d/rc.local开始”,所有工作正常,但在重新启动服务器不启动…任何build议?
我注意到使用Puma的Rails 5 App的默认池大小等于: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> 这意味着您可以build立最大数量的线程作为环境variables,或者默认为5个数据库连接。 我已经看到一些使用大约600作为连接池的限制的应用程序,这使我认为它是真的与线程无关,但它似乎是用来保持绿色的性能。 确定最大线程数量的逻辑是什么?它与处理器体系结构有关吗? 数据库连接池是否完全依赖于线程,或者当拥有大量用户(大约20,000)时,我能够保持一定的灵活性吗?
目前,你不能使用yum安装纱线,所以似乎没有一种简单的方法来创build一个在资产预编译之前安装它的configuration。
我想要做的是在一个Apache目录中创build多个Ruby应用程序,当我去http:// localhost / appname时 ,ruby应用程序没有问题就解决了。 不过,我想dynamic地这样做,所以我不必在每次创build新应用程序时在apache.conf中添加一个新的<Directory> 。 我希望它是像Apache中的PHP,你只需要在目录中放置多个应用程序,并且http:// localhost / appname显示应用程序 的apache.conf <VirtualHost *:80> UseCanonicalName Off ServerName localhost ServerAlias localhost ServerAdmin webmaster@localhost VirtualDocumentRoot /var/www/html/*/public ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/html/*/public> Require all granted Options Indexes FollowSymlinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> 如果我将文档根目录和目录设置为应用程序的完整path,那么一切正常,但是我想使其成为dynamic的。 这甚至有可能吗? 如果是这样,你能提供一些帮助吗? 谢谢!
我在Ruby on Rails上运行了大多数静态站点,它使用Varnish反向代理caching来保存命中Rails后端。 问题是,用户可以login到网站,当他们这样做,我们使用ESI(边缘包括)来显示用户特定的页面部分。 使用ESI意味着我们必须在Rails后端禁用Gzip压缩(使用Nginx + passenger),否则varnish不能parsing从后端返回的数据以运行ESI处理。 我的问题是,使用反向代理caching的好处是否超过了gzip所有内容的好处? 还是应该尝试摆脱ESI完整,并有两全其美?
有一个非常高评价的缺陷pipe理应用程序称为Redmine。 它是用Ruby编写的。 我能够按照他们的指示使其工作。 但是,我想运行该应用程序作为服务,每次服务器重新启动时自动启动。 你如何去添加一个Ruby网站作为一个Linux服务?
我有一个在Passenger上运行的Rails应用程序; 它按照预期通过未encryption的连接工作。 我也有一个工作的Apache SSL设置; 我可以通过https访问任何可用的静态文件。 当我尝试通过https访问Rails应用程序时,出现403错误(由规则禁止的目录索引)。 打开目录的索引只会导致Apache显示一个索引。 我在VirtualHost指令的SSL版本中为+ExecCGI相应的目录设置了+ExecCGI 。 我敢肯定,我忽视了一些明显的东西。 我只是不确定我需要在哪里寻找。
我正在尝试在上面的设置上设置一个memcache服务器。 我收到以下错误: /var/lib/gems/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:443:in `load_missing_constant': uninitialized constant MemCache (NameError) from /var/lib/gems/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:80:in `const_missing_with_dependencies' from /var/lib/gems/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:92:in `const_missing' from /root/voicegateway/vendor/plugins/workling/lib/workling/clients/memcache_queue_client.rb:18:in `<class:MemcacheQueueClient>' from /root/voicegateway/vendor/plugins/workling/lib/workling/clients/memcache_queue_client.rb:14:in `<module:Clients>' from /root/voicegateway/vendor/plugins/workling/lib/workling/clients/memcache_queue_client.rb:13:in `<module:Workling>' from /root/voicegateway/vendor/plugins/workling/lib/workling/clients/memcache_queue_client.rb:12:in `<top (required)>' from /var/lib/gems/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require' from /var/lib/gems/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `block in require' from /var/lib/gems/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:521:in `new_constants_in' from /var/lib/gems/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require' from /root/voicegateway/vendor/plugins/workling/lib/workling/remote/runners/client_runner.rb:2:in `<top (required)>' from /var/lib/gems/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require' from /var/lib/gems/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `block in require' from /var/lib/gems/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:521:in […]
我是一个开发人员,试图确定接近Rails应用程序的最佳方式。 我需要提供一些部署选项,并试图最小化开发成本和长期托pipe成本。 考虑一个网站,允许多个作者合作一个单一的“工作”,无论是一个小说,技术手册,甚至源代码。 “用户”可以“签出”章节,进行修改和合并变更。用户评价彼此的修改,以更高的评价允许访问越来越多的内容。我们称之为“社交版本控制” 尽pipe可以编写一个可以区分“作品”的单个rails应用程序,但是从编码的angular度来看,每个要承载的作品都可能更容易,因为它是自己的rails应用程序。 一个“主”应用程序将创build/控制每个作品服务器实例,允许浏览作品search作者,并成为网站所有者的报告中心。 现在,假设每个工作使用特定于端口的url的最简单的scheme: Master – http://collabowork.it My Novel – http://collabowork.it:3001 Some Manual – http://collabowork.it:3002 Another work – http://collabowork.it:3003 我的问题是:在不知情的情况下,能够在一个盒子上运行多less个rails实例? 有没有办法确定在商品服务器上可以运行多less个实例? 是否还有另外一个select,可以低成本地扩展额外的作品(也许在EC2或类似的东西上)。 由于这不是作为一个赚钱的风险投资,什么是最便宜的方式来部署(缺less额外的编码工作)。 在提供替代scheme之前,我想先进行一些成本分析,但是我不知道如何开始调整。 任何想法或想法表示赞赏。