【转】Ubuntu Server 10.04, resin 3.1.10, nginx 0.7.65 架设负载均衡网站

tinydu 2012-01-04

转自: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-cacheshowpackage获取包的相关信息,如说明、大小、版本等

sudoapt-getinstallpackage安装包

sudoapt-getinstallpackage--reinstall重新安装包

sudoapt-get-finstall强制安装?#"-f=--fix-missing"当是修复安装吧...

sudoapt-getremovepackage删除包

sudoapt-getremovepackage--purge删除包,包括删除配置文件等

sudoapt-getupdate更新源

sudoapt-getupgrade更新已安装的包

sudoapt-getdist-upgrade升级系统

sudoapt-getdselect-upgrade使用dselect升级

apt-cachedependspackage了解使用依赖

apt-cacherdependspackage了解某个具体的依赖?#当是查看该包被哪些包依赖吧...

sudoapt-getbuild-deppackage安装相关的编译环境

apt-getsourcepackage下载该包的源代码

sudoapt-getclean&&sudoapt-getautoclean清理下载文件的存档&&只清理无用的包

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

相关推荐