在KVM中安装配置nginx负载


在KVM中安装配置nginx负载


KVM宿主机为centos 6.5 ,虚拟机为centos 6.6,nginx版本为1.4.7



1、 检查CPU 的支持

       egrep `^flags.*(vmx|svm)` /proc/cpuinfo

2、安装并启动

      yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt libvirt-python python-virtinst

 

yum groupinstall KVM


启动


service messagebus start

 

service haldaemon start

 

service libvirtd start

 chkconfig messagebus on

 chkconfig haldaemon on

 chkconfig libvirtd on


检测

virsh -c qemu:///system list

/sbin/lsmod | grep kvm


3、配置网桥

vi /etc/sysconfig/network-scripts/ifcfg-br0


 DEVICE=br0

 TYPE=Bridge

 BOOTPROTO=static

 BROADCAST=10.207.20.255

 IPADDR=10.207.20.200

 NETMASK=255.255.255.0

 NETWORK=10.207.20.0

 ONBOOT=yes


vi /etc/sysconfig/network-scripts/ifcfg-eth0

 

 DEVICE=eth0

 BOOTPROTO=none

 ONBOOT=yes

 BRIDGE=br0


重起网络服务生效

 service network restart


 echo 1 > /proc/sys/net/ipv4/ip_forward


重启网络后用10.207.20.200登录(即网桥IP)


4、安装vncserver并开启


yum install tigervnc-server

/etc/init.d/vncserver start

检查


netstat -nulpt | grep vnc

 tcp        0      0 0.0.0.0:5901                0.0.0.0:*                  LISTEN      29167/Xvnc

 tcp        0      0 0.0.0.0:6001                0.0.0.0:*                  LISTEN      29167/Xvnc

 tcp        0      0 :::6001                    :::*                        LISTEN      29167/Xvnc

 表示vnc可以使用了





5、创建虚拟机


       virt-install --name=nginx01 --ram 512 --vcpus=1 --disk path=/data/kvm/nginx01.img,size=20 --accelerate --cdrom /data/appsource/CentOS-6.6-x86_64-minimal.iso --graphics vnc,listen=0.0.0.0,port=5920, --network bridge=br01 --force —autostart


netstat -nulpt | grep 5920 查看端口是否启用


6、用realvnc viewer完成安装

realvnc闪退原因:输入密码连上后直接闪退,依次点Option—>Advanced-->Expert找到ColourLevel,默认值是pal8,修改为rgb222或full。



7、管理虚拟机

      virsh --connect qemu:///system



8、克隆虚拟机

     virt-clone --connect=qemu:///system -o nginx01 -n haproxy -f /data/kvm/haproxy.img



注:要在安装了重要软件后再克隆,节省时间

需修改vnc端口;MAC地址也是需要注意的

宿主机上修改:vi /etc/libvirt/qemu/haproxy.xml




9、安装nginx并配置负载


./configure 之前,先删除nginx的debug模式,源码目录下 auto/cc/gcc 删除

# debug

CFLAGS=“CFLAGS -g”

两行。


假设有三台服务器,配置其中一台nginx即可,

vim /etc/nginx/nginx.conf

upstream webservers {

    ip_hash; #按每个访问IP的哈希结果分配,同一IP固定访问同一服务器,默认为轮询,其它还有fair、url_hash,nginx本身不支持url_hash,须安装nginx的hash软件包。

      server 192.168.0.201 weight=1;#weight值越大,权重越高

      server 192.168.0.202 weight=1;

  }

  server {

      listen       80;

      server_name  localhost;

      #charset koi8-r;

      #access_log  logs/host.access.log  main;

      location / {

              proxy_pass      http://webservers;

              proxy_set_header  X-Real-IP  $remote_addr;

      }

}


你可能感兴趣的:(nginx,kvm)