Nginx+Mongrel+Rails配置摘要

Nginx+mongrel+Rails配置的方案很多,在这里只摘抄Nginx的配置文件,然后解释一下   user www www;#用户名和组都为www,前者为用户名,后者为用户组。如果主进程以root来运行,                            #nginx使用setuid()/setgid() 。如果没有指定组,nginix使用和用户名相同的组名。   worker_processes  10;  #worker 进程数     error_log  logs/error.log debug;   #错误日志文件,debug为级别 ,                                                    #有debug , info , notice ,warn ,error ,crit   pid        /var/run/nginx.pid;  #nginx的进程位置   events {       use epoll;     worker_connections  51200;   //worker连接数  }   http {      include       conf/mime.types;      default_type  application/octet-stream;     #charset  utf-8;  sendfile        on;  

Read More

RMagick 2和ImageMagick不能正确显示图片的解决方案

背景 将ImageMagick和RMagick都升级了。ImageMagick版本为6.4.1,RMagick为2.5.1。 在生成带有文字的图片时要么是空白要么是一团黑。 分析 不能正确显示图片,有很多方面的原因。这里最有可能的原因是填充的颜色不对。例如填充颜色为白色,那么会出现空白。若是将填充颜色设置为黑色,那就是一团黑了。为什么会出现这种情况?先从一下日志说起: RMagick: delegate library support not built-in `/usr/local/share/ghostscript/fonts/n019003l.pfb’ (Freetype). 如果出现这种情况,说明文字的字体找不见,既然都无法正确显示文字,那么就由其填充色来代替。 解决 最新的ImageMagick看起来需要如下几个库: freetype ,强烈建议把dev版本也装上 jpeg库 tiff ghostscript zlib 为了看看有哪些字体安装了,使用如下命令:   convert -list font 返回结果可能为: Font: Palatino-Roman  family: Palatino  style: Normal  stretch: Normal  weight: 400Font: Symbol  family: Symbol  style: Normal  stretch: Normal  weight: 400Font: Times-Bold  family: Times  style: Normal  stretch: Normal  weight:

Read More

"Premature end of script headers: dispatch.fcgi"终极解决方案

名字够响亮,当然内容也很响亮。哈哈。 现状:    当使用Apache(或其他web server,例如lighttpd),以及fastcgi(或cgi)等来部署rails或python等时,经常会出现以下错误:      Premature end of script headers: dispatch.fcgi 解决方案: 本解决方案是基于Rails+Apache+fastcgi+debian,其他类似。 检查dispatch.fcgi的用户或用户组,以及访问权限,至少定义为755. 检查dispatch.fcgi的第一行的ruby编译器是否正确,很多人开发在windows平台上,而部署则在Linux/Unix平台上,所以将#!C:/ruby.exe改为#  !/usr/bin/ruby。ruby具体在什么位置,输入whereis ruby即可。 不能允许有打印的代码。例如在rails里,坚决不要将p 或puts写到代码里,这样会导致header破坏。其他语言看着办。 如果以上方案均为解决,到dispatch所在的目录下运行 ./dispatch.fcgi看是否正确。如果有什么错误的话,修正即可。 以上提供的4种方案都可以解决这个问题。要是还是不能解决,请将您的case告诉我。 另外,可以参考另一文章:在Debian上部署Rails Apache+fcgi(或FastCgi)

在Debian上部署Rails Apache+fcgi(或FastCgi)

Rails+Apache2+fcgid安装 安装Ruby tar xzvf ruby-1.8.6.tar.gz cd ruby-1.8.6./configure makemake install      检查一下ruby是否安装,输入: ruby -v 安装zlib tar xvzf  zlib-1.2.3.tar.gzcd zlib-1.2.3./configuremakemake install 安装rubygem   tar xzvf rubygems-0.9.4.tgzcd rubygems-0.9.4ruby setup.rb 为了看是否安装上,输入: gem -v Rails gem install rails -y  有的时候可能因为网速问题装不上,请耐心多试记下. 测试 rails testRailscd testRailsruby script/server         会有如下显示: => Booting WEBrick…=> Rails application started on http://0.0.0.0:3000=> Ctrl-C to shutdown

Read More

MT3.3安装

MT(Movable Type)是SixPart的一个blog产品,目前是相当的流行,看见很多人都使用这个系统,我也终于忍不住装一下,不然也对不住自己。安装MT,总的来说还是比较简单的。在这里,我只讲安装,不讲如何使用,因为使用,我也不太清楚,毕竟才刚刚使用。下面讲述一下我的感受,安装MT需要注意一下几点,不管是在Windows还是在Linux/Unix.安装这种东西无非就是配置好环境,MT需要的环境(以Windows为例,个人感觉在Windows比在Linux安装麻烦,我自己安装的时候就是这样): MT For windows MySQL Perl Apache Step 1:  安装MySQL,Perl,Apache                安装MySQL,Perl,Apache我就不说了,Google一下你就能得到很多资料。 Step 2 安装MT       当你下载MT之后,解压到的你的Web根目录下       配置一下mt-config.cgi,里面需要配置的是数据库,CGIPath等。      这些设置好之后,访问一下你的网页,顺利的话,会出现一个Movable Type的页面,并在页面的下方有一个check的链接。如果不顺利的话,你可能会遇见一下的错误:  You don’t have permission to access /mt/cgi-bin/MT/mt-check.cgi on this server.  可能的原因有   1.因为MT是由perl编写的,所以有可能不是别cgi脚本,你需要在Apache配置文件里对cgi脚本设置什么。具体可以为:         AddHandler cgi-script .cgi         AddHandler cgi-script .pl    2.如果上面设置之后,还是不行,那么可能的原因是不能执行cgi脚本,如果做呢?非常简单:      还是在Apache的配置文件里,增加一个Directory section,可以为                 <Directory "F:/Apache Software Foundation/Apache2.2/htdocs/mt/cgi-bin">   AllowOverride None 

Read More