shitou's blog 
Home About Feed | MIX BOY 塌客

Tags "debian"

19
Feb

CouchDB的安装 by shitou

3

http://i4y.jsfirm.cn/photo/image/24/medium/couchdb-cover.pngCouchDB现在很是火热,已经获得了IBM的资助,成为Apache下的一个子项目, CouchDB是用Erlang开发,关于CouchDB是干什么的,您还是google吧,这里就不再copy了,今天简单做了下测试,安装平台采用的是Debian, 但应该也可以在其他Linux平台上使用,安装前首先要安装Erlang, Erlang的安装在之前的日志中有记录,摸我

 

可能由于CouchDB是一个新的项目,Debian的仓库中还未收录,因此通过apt是无法找到的,所以这里就采用源码包的形式编译安装,编译需要有gcc, make等工具,先安装gcc:

 

#apt-get install gcc libc6-dev make tmake autogen automake build-essential indent intltool

 

然后是CouchDB的依赖包

 

#apt-get install erlang libicu36 libicu36-dev libmozjs-dev

 

上面需要说明下的是在CouchDB的README中说是要安装libicu38, 但shitou在安装时报错说米有找到,后来apt-file search libicu后才发现不是libicu38,反倒有libicu36的包,装吧

 

最后就是CouchDB了, 源去CouchDB的官网下吧, 这里用的是0.8.1

 

#tar zxvf apache-couchdb-*.tar.gz

#cd apache-couchdb-*

#./configure --prefix=/usr/local/couchdb

#make && make install

 

OK, 安装完毕

 

官方推荐为了安全的因素不要用root来运行CouchDB, 因此需要单独建立用户

 

#groupadd couchdb

#useradd couchdb -g couchdb -d /usr/local/couchdb/var/lib/couchdb

#chown -R couchdb /usr/local/couchdb/var

 

启动

 

#su - couchdb -c "/usr/local/couchdb/bin/couchdb -b"

 

-b为后台运行CouchDB服务

-d为关闭couchdb服务

 

CouchDB默认的配置文件在/usr/local/couchdb/etc/couchdb/couch.ini中, 端口为5984

 

紧接着赶紧测试下啦,shitou用的是ruby, 连接的库用的是官方网站的代码, couchdb_ruby.rb:

require 'net/http'

module Couch

  class Server
    def initialize(host, port, options = nil)
      @host = host;
      @port = port;
      @options = options;
    end

    def delete(uri)
      request(Net::HTTP::Delete.new(uri))
    end

    def get(uri)
      request(Net::HTTP::Get.new(uri))
    end

    def put(uri, json)
      req = Net::HTTP::Put.new(uri)
      req["content-type"] = "application/json"
      req.body = json
      request(req)
    end

    def post(uri, json)
      req = Net::HTTP::Post.new(uri)
      req["content-type"] = "application/json"
      req.body = json
      request(req)
    end

    def request(req)
      res = Net::HTTP.start(@host, @port) {|http|
        http.request(req)
      }
      if (not res.kind_of?(Net::HTTPSuccess))
        handle_error(req, res)
      end
      res
    end

    private

    def handle_error(req, res)
      e = RuntimeError.new("#{res.code}:#{res.message}\nMETHOD:" +

           "#{req.method}\nURI:#{req.path}\n#{res.body}")
      raise e
    end
  end
end

 

测试是在windows上进行的

然后进入ruby的irb

#irb

>require 'couchdb_ruby'

=>true

>server = Couch::Server.new('192.168.0.77', '5984')

=>#

>server.put "/testdb/", ""

=>Errno:.....

 

出错啦????目标主机被拒绝, 就是没连上CouchDB Server了, 后来查了下CouchDB的配置文件:

修改/usr/local/couchdb/etc/couchdb/couch.ini的监听端口BindAddress为本地的IP,不能为127.0.0.1, 否则其他机器不能连接

 

修改保存后关闭,启动CouchDB后就可以正常使用了,

 

好了, 测试就到这里吧,感觉CouchDB用起来还是蛮简单快捷的, 提供几乎现在所有的语言支持,希望CouchDB发展越来越好。

 

关于CouchDB的进一步使用再慢慢研究了- -||

 

参考资料

http://www.infoq.com/cn/news/2007/12/the-rdbms-is-not-enough

http://erlang-china.org/news/introducing_couchdb.html

http://wiki.apache.org/couchdb/Getting_started_with_Ruby

 

Tags: CouchDB,debian

2009-02-19 17:45:30, 1164 reviews

send to mailbox

Your email:

13
Feb

Debian中ruby on rails运行环境的搭建 by shitou

0

很久之前的笔记了,现在整理出来, 这里采用的是Apache + Mongrel Cluster, 其实shitou个人还是喜欢Lighttpd + FastCGI搭配的说,因为其他原因只能现在跑这样的环境啦- -||


软件:

ruby-1.8.7-p72.tar.gz

rubygems-1.3.0.tgz

ruby-zlib-0.6.0.tar.gz

mysql-ruby-2.8.tar.gz

 

安装:

安装ruby

#apt-get install gcc libc6-dev make tmake autogen automake \

build-essential indent intltool

#tar zxvf ruby-1.8.7-p72.tar.gz

#cd ruby-1.8.7-p72

##开启最后一行的zlib支持

#vi ext/Setup

#./configure --prefix=/usr/local/ruby

#make; make install

##把/usr/local/ruby/bin加入环境变量PATH中, 并写入文件/root/.profile中

#apt-get install zlib1g-dev

#cd ext/zlib

#ruby extconf.rb;

#make; make install

 

 

安装rubygems

#tar zxvf rubygems-1.3.0.tgz

#cd rubygems-1.3.0

#ruby setup.rb

 

安装rails

#gem install rails –version 2.0.2

 

支持rails console

#apt-get install libreadline5-dev

#cd ruby-1.8.7-p72/ext/readline

#ruby extconf.rb

#make; make install

 

在不安装SSL的话rails应用启动会报错

#apt-get install libssl-dev

#cd ruby-1.8.7-p72/ext/openssl

#ruby extconf.rb

#make; make install

 

安装mysql

#apt-get install mysql-server mysql-client libmysqlclient15-dev

 

安装ruby的mysql的C接口

#tar zxvf mysql-ruby-2.8.tar.gz

#cd mysql-ruby-2.8

#ruby extconf.rb –with-mysql-include=/usr/include/mysql –with-mysql-lib=/usr/lib

#make; make install

 

安装mongrel

#gem install mongrel mongrel_cluster

 

Apache, PHP的安装

#apt-get install apache2

#apt-get install php5 php5-mysql libapache2-mod-php5 php-pear

 

mongrel的配置

/railsapp/config/mongrel_cluster.yml:

cwd: /var/www/rails/cal_point
port: 3000
environment: production
group: www-data
user: www-data
address: 127.0.0.1
pid_file: log/mongrel.pid
servers: 3

 

Apache开启Proxy的相关模块, 配置

/etc/apache2/httpd.conf:

<Proxy balancer://myproxycluster>
    #loadfactor is the weight of the server, range 1-100, the bigger the stronger
    BalancerMember http://127.0.0.1:3000    loadfactor=10
    BalancerMember http://127.0.0.1:3001    loadfactor=10
    BalancerMember http://127.0.0.1:3002    loadfactor=10
</Proxy>

ProxyPass / balancer://myproxycluster/
ProxyPassReverse / balancer://myproxycluster/


启动mongrel cluster:

进去rails项目的根目录:

#mongrel_rails cluster::start

注意: 启动前要保正log文件夹的权限为Apache运行用户(在debian中一般是www-data)可写的

 

Tags: debian,架构

2009-02-13 16:48:23, 450 reviews

send to mailbox

Your email:

06
Feb

Media change: please insert the disc labeled by shitou

0

在Debian中使用apt-get安装软件包时经常会提示让你插入netinst的光盘:

Media change: please insert the disc labeled

当没有时就无法进行安装了, 这时可以打开文件/etc/apt/sources.list文件,注释掉cdrom那一行,然后再执行apt-get update更新下deb仓库, 这样以后再使用apt-get安装时就不会再搜寻cdrom了

Tags: debian,tips

2009-02-06 11:17:57, 673 reviews

send to mailbox

Your email:

Tags

U-ka saegusa IN db command Mai Kuraki Norah Jones log iPhoneException ACG Mac Safari objective-c CouchDB LVS AJAX debian 推荐 AMQP google mail bug gettext Erlang 北京 iptables 架构 tips mysql backup function 我看 postfix 监控 SEO cache Etag memcache thread 进程 线程 无锡 yield file column mixboy xml rss gems ruby shitou shell lighttpd 安全 csrf 公司 nginx linux 模块 apache webserver 朋友 大学 生活 尼古拉斯凯奇 movie 文件同步 笑笑 歌词 auto complete plugin rails music ubuntu blog

Category

  • iPhone[17]
  • Erlang[4]
  • google[8]
  • 生活[38]
  • 音乐[11]
  • 电影[11]
  • linux[20]
  • web server[6]
  • mail server[3]
  • cluster[1]
  • system manage[5]
  • ruby[18]
  • ruby on rails[27]
  • 开源[3]

Episode

  • iPhoneException
  • shell
  • thread
  • memcache

Recent Comments

  • я считаю: превосходно. мамба интим знакомс...
  • [b]Comprar vardenafil 20mg en Mexico Sin Receta...
  • [b]Comprar vardenafil 20mg en Mexico Sin Receta...
  • [b]Comprar vardenafil 20mg en Mexico Sin Receta...
  • [b]Comprar vardenafil 20mg en Mexico Sin Receta...
  • [b]Comprar vardenafil 20mg en Mexico Sin Receta...
  • [b]Comprar vardenafil 20mg en Mexico Sin Receta...
  • [b]Comprar vardenafil 20mg en Mexico Sin Receta...
  • [b]Comprar vardenafil 20mg en Mexico Sin Receta...
  • я думаю: восхитительно.. познакомлюсь ради...

Popular Posts

  • MySQL Innodb备份
  • 准备开始学习Erlang了(恶狼, 二郎..)
  • Lighttpd配置参数
  • iPhone上的HelloWorld终于跑起来了
  • Etag和Expire

Recommended Posts

  • Mai Kuraki -永远より ながく
  • U-ka saegusa IN db Final Best
  • Heaven Can Wait - Charlotte Gainsbou
  • Ruby遍历MemCached的key
  • Norah Jones - The fall
  • 请记得仰望梦想的姿势
  • Shell: 统计MySQL InnoDB表的大小
  • Rails Benchmark
  • 发送异常到邮箱
  • I Miss Nobody
  • Music4u, Vol. 1
  • my macbook
  • Mai Kuraki-Beautiful
  • 10首最伤情英文歌曲精选
  • Mai Kuraki - PUZZLE/Revive

Friends' blogs

  • levy
  • sphance
  • andreas

Login

   注册

留言 查看留言

留言

   取消

留言 查看留言


Statistics

  • 访问次数: 51664
  • 今天访问: 131
  • 日志: 172
  • 评论: 138
  • 音乐: 9
  • 用户: 150


 

just DO NOT support IE

close