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