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