天天看點

ubuntu9.04下部署mongrel

ubuntu9.04下部署mongrel

完全參考以前記錄的8.04的文檔來安裝的,但是執行中遇到些問題,一一記錄下來備查。

1.更新系統

sudo apt-get update

sudo apt-get dist-upgrade

sudo apt-get -f install

sudo dpkg --configure -a

2.安裝ruby on rails

apt-get install ruby

apt-get install rubygems

gem update --system (先更新gem再裝rails否則出錯)

報錯如下:

ERROR: While executing gem ... (RuntimeError)

gem update --system is disabled on Debian. RubyGems can be updated using the official Debian repositories by aptitude or apt-get.

Unfortunately the apt-get update does not help at all.

解決方法:

gem install rubygems-update

cd /var/lib/gems/1.8/bin

./update_rubygems

安裝繼續

更新後指令變成了gem1.8了,使用起來不習慣,是以加個軟連結

ln -s /usr/bin/gem1.8 /usr/bin/gem

注意,這次/usr/bin下面已經有個檔案夾叫gem了,不曉得是什麼版本,先rm /usr/bin/gem了,然後再加軟連結

安裝rails

gem install rails --include-dependencies

apt-get install imagemagick

apt-get install libmagick9-dev ruby1.8-dev

gem install rmagick

報錯:

Building native extensions. This could take a while...

ERROR: Error installing rmagick:

ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb

extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)

from extconf.rb:1

Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/rmagick-2.9.2 for inspection.

Results logged to /usr/lib/ruby/gems/1.8/gems/rmagick-2.9.2/ext/RMagick/gem_make.out

解決辦法:

先安裝

sudo apt-get install ruby1.8-dev ‘

再次報錯:

Can't install RMagick 2.9.2. Can't find Magick-config in /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

*** extconf.rb failed ***

Could not create Makefile due to some reason, probably lack of

necessary libraries and/or headers. Check the mkmf.log file for more

details. You may need configuration options.

Provided configuration options:

--with-opt-dir

--without-opt-dir

--with-opt-include

--without-opt-include=${opt-dir}/include

--with-opt-lib

--without-opt-lib=${opt-dir}/lib

--with-make-prog

--without-make-prog

--srcdir=.

--curdir

--ruby=/usr/bin/ruby1.8

Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/rmagick-2.9.2 for inspection.

Results logged to /usr/lib/ruby/gems/1.8/gems/rmagick-2.9.2/ext/RMagick/gem_make.out

解決辦法,看來是少了某選項。找找加上:

指令:apt-get install libmagick9-dev

繼續安裝

gem install mongrel

gem install mongrel_cluster

mv redmine-0.7.3 redmine

把名字改掉後再運作

mongrel_rails cluster::configure -e production -p 8000 -a 0.0.0.0 -N 2 -c /usr/local/redmine/

報錯:

[email protected]:/usr/local# mongrel_rails cluster::configure -e production -p 8000 -a 0.0.0.0 -N 2 -c /usr/local/redmine/

!!! Path to config file not valid: config/mongrel_cluster.yml

cluster::configure reported an error. Use mongrel_rails cluster::configure -h to get help.

解決辦法:

chmod a+x mongrel_cluster.yml

在終端下輸入以下指令啟動Mongrel:

代碼:

/usr/local/redmine/mongrel_rails cluster::start

要停止則輸入:

代碼:

/usr/local/redmine/mongrel_rails cluster::stop

2、配置apache轉發

啟動mod_proxy子產品.

cd /etc/apache2/mods-enabled/

sudo ln -s ../mods-available/proxy_balancer.load proxy_balancer.load

sudo ln -s ../mods-available/proxy_http.load proxy_http.load (配置轉發JBOSS已加)

sudo ln -s ../mods-available/proxy.load proxy.load (配置轉發JBOSS已加)

sudo ln -s ../mods-available/proxy.conf proxy.conf (配置轉發JBOSS已加)

修改proxy.conf檔案

vi /etc/apache2/mods-available/proxy.conf

#Allow from .example.com

改為

Allow from all

修改 /etc/apache2/apache2.conf 檔案(預設是在最後一行):

Include /etc/apache2/sites-enabled/

改為:

#Include /etc/apache2/sites-enabled/

然後在/etc/apache2/httpd.conf裡添加以下部分:

代碼:

<Proxy balancer://mongrel>

BalancerMember http://192.168.50.90:8000

BalancerMember http://192.168.50.90:8001

</Proxy>

<VirtualHost *:80>

ProxyPass / balancer://mongrel/

ProxyPassReverse / balancer://mongrel/

</VirtualHost>

重新開機apache2讓設定生效

/etc/init.d/apache2 restart