Articles of ruby on rails

安装gem MySQL失败

我正在Amazon AMI 2010.11.1上安装mysql gem,我遇到了下一个问题: # gem install mysql Building native extensions. This could take a while… ERROR: Error installing mysql: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb checking for mysql_ssl_set()… no checking for rb_str_set_len()… no checking for rb_thread_start_timer()… no checking for mysql.h… no checking for mysql/mysql.h… no Gem files will remain installed in […]

运行RoR应用程序的Nginx + Passenger在预计302时返回401

我在Nginx之上有一个在Passenger上运行的RoR应用程序。 我正在使用devise我的身份validation方法,并有一个链接,通过电子邮件发送给需要身份validation才能查看的用户。 如果用户从Outlook中单击链接,并且IE是默认浏览器,则IE使用以下标头发出HTTP请求: GET http://www.company.com/custom_layouts/108 HTTP/1.1 Accept: */* Accept-Language: en-us User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E) Accept-Encoding: gzip, deflate Connection: Keep-Alive Host: www.company.com 返回: HTTP / 1.1 401 Unauthorized Content-Type: / ; charset = utf-8传输编码:分块连接:保持活动状态:401 […]

无法通过我的Rails应用程序通过OpenVPN发送电子邮件

我在运行OpenVPN的EC2实例的Rails中编写了一个公司Intranet站点。 我正在使用类似于Rails指南中所述的Rails的基本电子邮件configuration: config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :address => "smtp.gmail.com", :port => 587, :domain => 'baci.lindsaar.net', :user_name => '<username>', :password => '<password>', :authentication => 'plain', :enable_starttls_auto => true } 唯一真正的区别是它指向我们的Microsoft Online服务器而不是Gmail。 无论如何,如果我杀了OpenVPN进程,邮件发送罚款。 显然这不是一个好的解决scheme。 我应该如何configurationOpenVPN以允许传出电子邮件? 我是Intranet站点的程序员,而不是configurationOpenVPN的系统pipe理员,所以我有点不确定从哪里开始或检查什么。

清理和备份日志文件

确保Rails日志文件上的ruby不会太大,以及如何将它们备份到Amazon S3上的最佳方法是什么? 我知道ec2onrails有这个内置的AMI,但我不知道如何在另一台机器上实现它。 谢谢

在shell脚本中将string转换为xml?

我写了一个从数据库中提取数据的脚本。 现在我想增强这个脚本来创build一个数据库返回的XML文件。 我怎么可能将该string转换为shell脚本中的xml文件。 script.sh #!/bin/sh echo 'SELECT TABLE_NAME AS "Table Name", table_rows AS "Quant of Rows", ROUND((data_length + index_length)/1024/1024,2) AS "Total Size Mb" FROM information_schema.TABLES WHERE information_schema.TABLES.table_schema="database_name";' | mysql -u root -pmysql 从数据库获取数据 "Table Name\tQuant of Rows\tTotal Size Mb\ntable_1\t2\t0.02\ntable_2\t1\t0.02\ntable_3\t142\t0.02\ntable_4\t50839\t5.03\ntable_5\t16573\t5.13\ndlr\t0\t0.02\ntable_6\t6\t0.02\ntable_7\t0\t0.03\ntable_8\t2\t0.08\ntable_9\t4\t0.02\n" 我想写一些将该string转换为xml文件的脚本的逻辑。 我怎么可以这样做? 什么是处理这种情况的首选方法?

清理Nginxconfiguration:一个Rails应用程序,多个域,redirect到非www域

我在Nginx上托pipe一个Rails应用程序,可以通过一组定义的域访问它。 对于这些域中的每一个,我也想转发www到非www。 现在我的configuration文件看起来像这样: server { listen 80; server_name www.domain1.com; rewrite ^ http://domain1.com$uri permanent; } server { listen 80; server_name www.domain2.com; rewrite ^ http://domain2.com$uri permanent; } server { listen 80; server_name www.domain3.com; rewrite ^ http://domain3.com$uri permanent; } server { listen 80; server_name domain1.com domain2.com domain3.com; root /home/rails/apps/myapp/current/public; passenger_enabled on; } 因此,我必须重复将www转发到非www的部分,并将该域作为server_name添加到最后一个server {}指令。 现在我有大约15个这样的域configuration,还有更多的来,这意味着维护这个列表会变得越来越麻烦。 我真正喜欢的是这样的:(伪代码) %domains = […]

如何设置2个指向Apache for Rails中相同位置的URL

我想指出2个url到相同的应用程序。 似乎这将是容易的,但它不工作! 现有的设置如下所示: <VirtualHost *:80> DocumentRoot /home/some/path ServerName long_foo_name.com RewriteEngine On ProxyRequests Off ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ ProxyPreserveHost on AccessFileName .htaccess <Proxy *> Order deny,allow Allow from all </Proxy> </VirtualHost> 我复制/粘贴这个和修改的服务器名称到新的服务器名称(让我们说“foo.com”)。 当我尝试去foo.com时,我得到了默认的Fedoratesting页面。 Apache错误日志显示“通过Options指令禁止的目录索引”,并且rails日志未显示请求正在触发rails。 可能或不可能相关的一个警告是这样的。 第二个域(在本例中是“foo.com”)是一个“租用”URL。 含义。 我实际上并不拥有它,它是由业主租给我的。 当我ping通域名时,返回的IP实际上与我的服务器不同。 但是对这个域的请求正在打我的服务器(如apache访问日志所示)。 所以看起来对这个域的请求是由他们的服务器代理的。 这个代理可以影响Apache如何处理请求?

AWS Ec2上的多个主机

我需要在AWS上的EC2 AMI上部署多个Ruby on Rails应用程序,并且我需要将每个应用程序都附加到一个域名 我认为这第一部分是为了部署rails的Apache web服务器和乘客。 我想知道的是,如果我应该在我的实例上使用负载平衡器之类的任何东西,以正确部署我的应用程序并基于基于名称的虚拟主机。 还有一件事….我可以在相同的AMI上部署Rails 2.x和Rails 3.x应用程序,有没有关于这方面的任何文档?

使用Apache2服务器从URL中删除string

这应该是简单的,我已经看了一些现有的问题,但我仍然无法解决我的问题。 我想我只是不能围绕如何RewriteRule和RedirectMatch工作。 我收到了很多服务器请求,例如: http : //www.yogacentersc.es/paginas/38-titulados-por-aipys?iframe=true&width=80%&height=80% 理想情况下,我想永久redirect所有这些不同的页面,减去?iframe和跟随的位。 最好的方法是什么,或者不同的方法来做到这一点?

在Arch上设置Passenger + Nginx

我试图在Arch上设置乘客和nginx,但是我似乎无法让nginx服务器启动。 我已经按照在这里find的指导: https : //wiki.archlinux.org/index.php/Nginx#Ruby_Integration_.28Ruby_on_Rails_and_Rack-based.29在选项A下使用ruby gems来进行安装。 我有nginx安装在/ opt / nginx /目录中。 我象征性地将/ opt / nginx / sbin / nginx链接到/ usr / bin / nginx,并添加了https://wiki.archlinux.org/index.php/Nginx/Init_script中的init脚本。 我也已经将权限更改为755,并且按照build议由root拥有。 当我运行sudo /etc/rc.d/nginx start时出现以下错误 /etc/rc.d/nginx: line 5: /etc/conf.d/nginx: No such file or directory :: Checking configuration [BUSY] nginx: [crit] pread() "/opt/nginx/" failed (21: Is a directory) nginx: configuration file /opt/nginx/ test […]