【轉】Ubuntu Server 10.04, resin 3.1.10, nginx 0.7.65 架設負載均衡網站

轉自:http://blog.csdn.net/kimsoft/article/details/5672632

 

 

Ubuntu Server 10.04, resin 3.1.10, nginx-0.7.65 架設負載均衡網站

 

軟件硬件架構

internet -> fire wall -> f5 load balancer -> router -> web servers(ubuntu + nginx + resins) -> db servers(aix + oracle) -> storage

 

一、安裝 Ubuntu

在vitrual box 3.2.4中安裝,安裝時可斷網,這樣比較快一點

網絡選 bridged adapter

本機地址爲192.168.3.31

ubuntu server 地址爲3.222

網關3.1

dns 8.8.8.8

 

用putty做終端,連接

 

二、修改unbuntu server 網卡

sudo vi /etc/network/interfaces

 

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

 

# The loopback network interface

auto lo

iface lo inet loopback

 

# The primary network interface

auto eth0

iface eth0 inet static

        address 192.168.3.222  #ubuntu ip 地址

        netmask 255.255.255.0 #子網掩碼

        # network 192.168.3.0   #可不用配置

        # broadcast 192.168.3.255 #可不用配置

        gateway 192.168.3.1      #網關

        # dns-* options are implemented by the resolvconf package, if installed

        dns-nameservers 8.8.8.8 # DNS,多個用半角空格隔開

 

sudo /etc/init.d/networking restart #啓動網卡,終端會斷掉

sudo /etc/init.d/networking force-reload #強制加載,這個更好點,終端不會斷掉

 

三、安裝JDK

準備工作

sudo vi /etc/apt/sources.list

加入源

deb  http://archive.canonical.com/ lucid partner

 

sudo apt-get update 一定要執行一下

 

APT: Advanced Packaging Tools

apt-get 其它用法

apt-cache search package 搜索包 
apt-cache show package 獲取包的相關信息,如說明、大小、版本等 
sudo apt-get install package 安裝包 
sudo apt-get install package - - reinstall 重新安裝包 
sudo apt-get -f install 強制安裝?#"-f = --fix-missing"當是修復安裝吧... 
sudo apt-get remove package 刪除包 
sudo apt-get remove package - - purge 刪除包,包括刪除配置文件等 
sudo apt-get update 更新源 
sudo apt-get upgrade 更新已安裝的包 
sudo apt-get dist-upgrade 升級系統 
sudo apt-get dselect-upgrade 使用 dselect 升級 
apt-cache depends package 瞭解使用依賴 
apt-cache rdepends package 瞭解某個具體的依賴?#當是查看該包被哪些包依賴吧...
sudo apt-get build-dep package 安裝相關的編譯環境 
apt-get source package 下載該包的源代碼 
sudo apt-get clean && sudo apt-get autoclean 清理下載文件的存檔 && 只清理無用的包 
sudo apt-get check 檢查是否有損壞的依賴

 

sudo apt-get install sun-java6-jdk #下載,安裝

java -version #檢測是否安裝成功

 

sudo vi /etc/profile  #配置JAVA_HOME方法一

在最後加入

#jdk1.6 env

JAVA_HOME=/usr/java/jdk1.6.0_20

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/td.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME

export PATH

export CLASSPATH

 

sudo vi /etc/environment #配置JAVA_HOME方法二(推薦)

# PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

# jdk1.6 env

JAVA_HOME=/usr/lib/jvm/java-6-sun

PATH=$JAVA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

CLASSPATH=.:$JAVA_HOME/lib/td.jar:$JAVA_HOME/lib/tools.jar

 

在putty界面按ctrl+d退出,再進入

 

echo $JAVA_HOME

 

 

四、安裝nginx

sudo apt-get install nginx #下載,安裝

 

 sudo /etc/init.d/nginx reload|start|stop

 

sudo vi /etc/nginx/sites-available/default

 

 

# You may add here your

# server {

#       ...

# }

# statements for each of your virtual hosts

 

upstream resin {

      # server 192.168.1.103:8080 weight=2;

       server 192.168.3.222:8080 weight=2;

       server 192.168.3.222:8081 weight=2;

       server 192.168.3.31:8080 weight=3;

       server 192.168.3.31:8081 weight=3;

}

 

server {

       listen   80 default;

       server_name  localhost,192.168.3.222;

 

       access_log  /var/log/nginx/localhost.access.log;

 

       location / {

               proxy_redirect off;

               proxy_set_header Host $host;

               proxy_pass http://resin;

               proxy_set_header  X-Real-IP  $remote_addr;

               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

               proxy_redirect false;

       }

}

 

sudo /etc/init.d/nginx reload

訪問http://192.168.3.222

 

五、安裝resin

下載resin 3.1.10 free版

http://www.caucho.com/download/

下載後傳到/home/root

sudo tar -zxvf resin-pro-3.1.10.tar.gz #解壓

sudo mv resin-pro-3.1.10 /usr/local/resin #複製爲resin

sudo chmod -R 777 /usr/local/resin #修改權限

 

cd /usr/local/resin 

sudo ./configure  # 編譯

sudo make  # 編譯

sudo make install  # 編譯

 

cd /usr/local/resin/config

sudo cp resin.conf resin-8080.conf

sudo cp resin.conf resin-8081.conf

修改resin-8081.conf中的端口對應到8081,其他端口依次加1

修改兩文件中的web-app節點

<web-app id="/" root-directory="webapps/ROOT/8080"/>

<web-app id="/" root-directory="webapps/ROOT/8081"/>

在兩文件夾中放入測試文件

 

cd /usr/local/resin/bin

sudo cp httpd.sh httpd-8080.sh

sudo cp httpd.sh httpd-8081.sh

修改其中的最後一行,從

exec $JAVA_EXE -jar ${RESIN_HOME}/lib/resin.jar $*

修改爲

exec $JAVA_EXE -jar ${RESIN_HOME}/lib/resin.jar -conf ${RESIN_HOME}/conf/resin-8080.conf $*

exec $JAVA_EXE -jar ${RESIN_HOME}/lib/resin.jar -conf ${RESIN_HOME}/conf/resin-8081.conf $*

加上-conf參數

 

sudo ./httpd-8080.sh start

sudo ./httpd-8081.sh start

運行成功

 

將resin 安裝爲服務

sudo vi  /usr/local/resin/contrib/init.resin.in

JAVA_HOME, RESIN_HOME修改爲

JAVA_HOME="/usr/lib/jvm/java-6-sun"

RESIN_HOME="/usr/local/resin"

 

複製爲兩個文件

sudo cp /usr/local/resin/contrib/init.resin.in /etc/init.d/resin8080

sudo cp /usr/local/resin/contrib/init.resin.in /etc/init.d/resin8081

 

 再分別修改兩個文件

 sudo vi /etc/init.d/resin8080

 sudo vi /etc/init.d/resin8081

 修改目標:

CONF="-conf $RESIN_HOME/conf/resin-8080.conf"  #這行是加上的,不同的文件CONF不一樣

ARGS="-resin-home $RESIN_HOME $SERVER $CONF" #這行後面多加了一個$CONF

 

sudo update-rc.d  /etc/init.d/resin-8080 defaults 99;

 

sudo service resin-8080 start;

 

sudo reboot

 

再訪問http://192.168.3.222

發佈了78 篇原創文章 · 獲贊 6 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章