`
helpbs
  • 浏览: 1164967 次
文章分类
社区版块
存档分类
最新评论

linux下rails 安装日志

 
阅读更多
背景: linux + rails + mysql +lighttpd + FCGI

step 1)安装ruby

下载源代码包到本地Linux主机,然后解压缩,进入该目录,进行配置,编译和安装:
tar xzvf ruby-1.8.5.tar.gz
cd ruby-1.8.5
./configure –prefix=/usr/local/ruby
make && make install
安装好以后,修改操作系统PATH路径,加入/usr/local/ruby/bin:
export PATH=/usr/local/ruby/bin:$PATH
将我们自己安装的ruby放在系统PATH前面,避免操作系统自带的ruby造成的干扰。

但是一旦系统重启,可能就没用了,所以将上面的设置放在/etc/profile中,便于对全局生效。

通过查看ruby -v看是否安装成功

step2)安装gem

在安装rails之前,要先安装rubygems。rubygems是ruby的在线包管理工具,可以从rubyforge下载rubygems:
下载好源代码包,解压缩,安装:
tar xzvf rubygems-0.9.0.tgz
cd rubygems-0.9.0/
ruby setup.rb
通过查看gem -v看是否安装成功

step3)安装rails
gem install rails –y
这个过程会很慢,请耐心等待
通过查看rails -v看是否安装成功

step4) 安装RubyFCGI支持
由于ruby的fcgi支持库需要在编译的时候联接FCGI的系统库,因此我们需要先安装FCGI库,下载FCGI源代码发行包:
tar xzvf fcgi-2.4.0.tar.gz
cd fcgi-2.4.0
./configure --prefix=/usr/local/fcgi
make && make install
然后就可以安装ruby的fcgi支持库了,下载ruby-fcgi-0.8.7.tar.gz:
tar xzvf ruby-fcgi-0.8.7.tar.gz
cd ruby-fcgi-0.8.7
ruby install.rb config -- --with-fcgi-include=/usr/local/fcgi/include --with-fcgi-lib=/usr/local/fcgi/lib
ruby install.rb setup
ruby install.rb install

step5)安装
lighttpd

然后下载lighttpd:
tar xzvf lighttpd-1.4.13.tar.gz
cd lighttpd-1.4.13
./configure --prefix=/usr/local/lighttpd
configure完毕以后,会给出一个激活的模块和没有激活模块的清单,可以检查一下,是否自己需要的模块都已经激活,在enable的模块中一定要有“mod_rewrite”这一项,否则重新检查pcre是否安装。然后编译安装:
make && make install
编译后配置:
cp doc/sysconfig.lighttpd /etc/sysconfig/lighttpd
mkdir /etc/lighttpd
cp doc/lighttpd.conf /etc/lighttpd/lighttpd.conf
如果你的Linux是RedHat/CentOS,那么:
cp doc/rc.lighttpd.redhat /etc/init.d/lighttpd
如果你的Linux是SuSE,那么:
cp doc/rc.lighttpd /etc/init.d/lighttpd
其他Linux发行版本可以自行参考该文件内容进行修改。然后修改/etc/init.d/lighttpd,把
LIGHTTPD_BIN=/usr/sbin/lighttpd
改为
LIGHTTPD_BIN=/usr/local/lighttpd/sbin/lighttpd

此脚本用来控制lighttpd的启动关闭和重启:
/etc/init.d/lighttpd start
/etc/init.d/lighttpd stop
/etc/init.d/lighttpd restart

注意修改/etc/init.d/lighttpd中一行lighttpd="/usr/sbin/lighttpd"
改为lighttpd="/usr/local/lighttpd/sbin/lighttpd"
否则你用上面的脚本启动

虽然你还是可以用 /usr/local/lighttpd/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf这句来启动,但很不方便



step5)配置lighttpd
修改/etc/lighttpd/lighttpd.conf
5.1)server.modules
取消需要用到模块的注释,mod_rewrite,mod_access,mod_fastcgi,mod_simple_vhost,mod_cgi,mod_compress,mod_accesslog是一般需要用到的。
5.2)server.document-root, server.error-log,accesslog.filename需要指定相应的目录
5.3)用什么权限来运行lighttpd
server.username = "nobody"
server.groupname = "nobody"
从安全角度来说,不建议用root权限运行web server,可以自行指定普通用户权限。
5.4)静态文件压缩
compress.cache-dir = "/tmp/lighttpd/cache/compress"
compress.filetype = ("text/plain", "text/html","text/javascript","text/css")
可以指定某些静态资源类型使用压缩方式传输,节省带宽,对于大量AJAX应用来说,可以极大提高页面加载速度。
5.5)配置ruby on rails
最简单的配置如下:
$HTTP["host"] == "www.xxx.com" {
server.document-root = "/yourrails/public"
server.error-handler-404 = "/dispatch.fcgi"
fastcgi.server = (".fcgi" =>
("localhost" =>
("min-procs" => 10,
"max-procs" => 10,
"socket" => "/tmp/lighttpd/rails.socket",
"bin-path" => "/yourrails/public/dispatch.fcgi",
"bin-environment" => ("RAILS_ENV" => "production")
)
)
)
}
即由lighttpd启动10个FCGI进程,lighttpd和FCGI之间使用本机Unix Socket通信。


step 6)启动时可能遇到的问题
6.1) 注意"socket" 所对应的目录必须存在,否则报错
6.2)
/public/dispatch.fcgiPermissiondenied,
这是由于用户没有执行dispatch.fcgi的权限,只要覆与当前用户权限就行
cd/yourrails/public
chmod755dispatch.fcgi

6.3)
/public/dispatch.fcgiNosuchfileordirectory

这是由于没有找到ruby命令选成的

修改dispatch.fcgi文件,在第一行指定自己的可执行的ruby就可以了,比如我的ruby在/usr/local/ruby/bin/ruby,则把第一行修改为 #!/usr/local/ruby/bin/ruby








    分享到:
    评论

    相关推荐

      Ruby on Rails Web开发之旅.pdf【第二部分】

       2.4 在Linux系统上安装Ruby on Rails  2.4.1 使用包管理器  2.4.2 先决条件  2.4.3 在Linux上安装Ruby . 2.4.4 在Linux上安装RubyGems  2.4.5 在Linux上安装Rails  2.4.6 在Linux上安装MySQL  2.5 ...

      Ruby on Rails Web开发之旅.pdf【第一部分】

       2.4 在Linux系统上安装Ruby on Rails  2.4.1 使用包管理器  2.4.2 先决条件  2.4.3 在Linux上安装Ruby . 2.4.4 在Linux上安装RubyGems  2.4.5 在Linux上安装Rails  2.4.6 在Linux上安装MySQL  2.5 ...

      Ruby on Rails Web开发之旅.pdf【第三部分】

       2.4 在Linux系统上安装Ruby on Rails  2.4.1 使用包管理器  2.4.2 先决条件  2.4.3 在Linux上安装Ruby . 2.4.4 在Linux上安装RubyGems  2.4.5 在Linux上安装Rails  2.4.6 在Linux上安装MySQL  2.5 ...

      Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版.rar

      3.4 Linux上的安装 17 3.5 选择Rails版本 18 3.6 开发环境 19 3.7 Rails和数据库 22 3.8 保持更新 23 3.8 Rails和ISPs 24 第4章 立竿见影 25 4.1 新建一个应用程序 25 4.2 Hello, Rails 27 4.3 把页面连起来 35 4.4 ...

      log_monitor:监控日志

      日志监控器监视Web服务器的日志。 并通过电子邮件,Webpost,文件或控制台发出警报。安装添加gem "log-monitor" 到Gemfile。用法作为RAILS插件创建config / log-monitor.yml monitor: target: /tmp/log/development....

      logline:日志可视化工具

      混合日志线 用于混合的日志可视化工具 ruby lib/rails-logline.rb ./mingle.log.1 ./mingle.log.2 > data.json python -m SimpleHTTPServer http://localhost:8000

      lale-help:难民志愿人员协作平台

      使用在 Linux 容器中运行(推荐给 Rails 初学者) 标准导轨项目 Docker项目 在执行任何操作之前,请为您的操作系统安装Docker 。 使用Docker时,在docker文件夹中可以找到许多脚本来帮助您入门。 随意通读这些...

      opsworks_clockwork_cookbook:在 OpsWorks 上设置 Clockwork 的手册

      要求亚马逊 Linux Chef 11(可能适用于 Chef 0.9)节点属性node['clockwork']['clock'] - 全局默认时钟文件(默认为clock.rb) node['clockwork']['log_dir'] - 全局默认日志目录(默认为 /var/log/clockwork) node...

      leetcode中国-100-days-of-code:夏季编码会议

      学习安全卡利Linux 学习 Ruby on Rails 项目 李文丁 卡梅伦·莫林 目标: 学习网页开发: 基本的 JS 和 CSS 样式 更新个人网页 使用 Web 应用程序练习部署: 处理可以通过免费服务部署的个人项目 将图形集成到编程中...

      gloss:光泽是基于Ruby和水晶的高级语言,可编译为Ruby

      约路线图: 改善错误处理和日志记录(当前几乎不存在) 解决Linux兼容性(当前或多或少不存在) 实施不同的类型检查严格性元编程助手/安全性:* 抽象类和方法编译时的方法查找/存在检查方法重载相关项目: Rails助手...

      Radio Free Logger-开源

      这个基于Linux的Ruby on Rails数据库驱动的Web应用程序捕获了校园/社区广播电台的日志记录做法。 这些程序日志记录了播出的各种选择。 挑战:报告,数据库集成,ajax接口,freedb查询。

      log-archiver:IRCログ记录・阅覧システム

      日志存档器 IRC宝ッ常驻させることでチャットログをチャンネル単位単RDBMSし直接记录し,Railsアプリケーションにより记录されたログを整形・表示します。动作环境LinuxまたはOSX Ruby 2.3.0以降级MySQLまたは...

      java开源包1

      Tomcat 安装apr 支持 Tomcat Native Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成...

      JAVA上百实例源码以及开源项目

       Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像...

      java开源包11

      Tomcat 安装apr 支持 Tomcat Native Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成...

      java开源包2

      Tomcat 安装apr 支持 Tomcat Native Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成...

      java开源包3

      Tomcat 安装apr 支持 Tomcat Native Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成...

      java开源包6

      Tomcat 安装apr 支持 Tomcat Native Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成...

      java开源包5

      Tomcat 安装apr 支持 Tomcat Native Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成...

    Global site tag (gtag.js) - Google Analytics