目标,另用一台机器(Nginx服务)实现LoadBalance,另外两台为Web Server(apache)
- 使用ssh登陆
#ssh root@111.111.111.111
- 确认Linux 版本
#lsb_release -a
原来这次是 CentOS 5.5(Final),如果命令找不到,可以用
#cat /etc/redhat-release
- 确认PHP安装
#yum list | grep php
- 如果不能肯定PHP是否完全安装
#yum install php
- 查看Apache的httpd.conf,确认DocumentRoot地址
#vi /etc/httpd/conf/httpd.conf
- 建立一个测试用index.php
#vi /var/www/html/index.php
里面就一行
<?php phpinfo(); ?>
- 启动Apache
#/etc/ini.d/httpd start
- 远程无法访问,在远程使用
#telnet 111.111.111.111 80
,结果无法连接
- 设置防火墙
# vi /etc/sysconfig/iptables
在类似的位置加入一行
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
重新启动
# /etc/init.d/iptables restart
- OK 访问 http://111.111.111.111/,可以正常访问了
- 下载gnix
#wget http://www.nginx.org/download/nginx-0.8.53.tar.gz$ tar xvzf nginx-0.8.53.tar.gz
# mkdir -p /usr/local/src/nginx
# mv nginx-0.8.53 /usr/local/src/nginx/0.8.53 - Configure 分别报了没有C编译器,没有PCRE,没有MD5,所以需要安装
#yum install gcc
#yum install pcre pcre-devel
#yum install openssl openssl-devel
#yum .configure - 编译安装
#make
#make install - 建立一个快捷方式
# ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
- 在另外一台机器中的index.php记入以下
<?php
echo(“Test Success!I am Another WebServer “);
phpinfo();
?> - 设置本地Nginx的conf
vi /usr/local/nginx/conf/nginx.conf
http {
upstream myproject{
server 111.111.111.112:80;
server 111.111.111.113:80;
}server {
listen 80;
server_name 111.111.111.111;location / {
proxy_pass http://myProject;
} - 访问以下本地http://111.111.111.111/看是不是直接balance到了另外一台机器咯。