且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

KVM、kickstart与nginx集成

更新时间:2022-03-10 16:06:27

前几篇文章介绍了FTP、NFS与KVM、kickstart集成的案例,从这篇文章开始,我们来介绍HTTP方式与KVM、kickstart集成。

HTTP方式,我们先来使用nginx进行集成。既然是使用nginx,那么我们就先安装nginx,有关nginx的安装,可以参考这篇文章《烂泥:CentOS上nginx与tengine web服务器

本篇文章我们使用的是淘宝定制的nginx,下载安装包如下:

wget http://tengine.taobao.org/download/tengine-2.0.3.tar.gz

KVM、kickstart与nginx集成

下载完毕后,进行解压及安装,如下:

tar -xf tengine-2.0.3.tar.gz

KVM、kickstart与nginx集成

./configure

make && make install

安装完毕后,然后启动nginx,如下:

/usr/local/nginx/sbin/nginx –c /usr/local/nginx/conf/nginx.conf

netstat -tunlp|grep “:80”

KVM、kickstart与nginx集成

因为我们最后的通过http所访问的形式是:http://ip/dir形式。所以我们要做两点,第一个是要配置nginx的二级目录访问,第二个是开启nginx目录的索引功能,nginx索引默认是关闭的。

我们先创建两个目录用于存储kickstart的配置文件和系统的安装文件,如下:

KVM、kickstart与nginx集成

然后把相关的文件复制到相应的目录。然后我们再来配置nginx。

打开nginx配置文件,在server段中加入如下代码,其他的不做修改。如下:

vi /usr/local/nginx/con/nginx.conf

location /ks/ { alias /ks/;

autoindex on;

charset utf-8;

}

location /centos/ { alias /centos/;

autoindex on;

charset utf-8;

}

KVM、kickstart与nginx集成

测试下该配置文件是否有问题如下:

/usr/local/nginx/sbin/nginx -t

KVM、kickstart与nginx集成

测试没有问题,我们再重新启动nginx,如下:

/usr/local/nginx/sbin/nginx –s reload

KVM、kickstart与nginx集成

现在我们来测试下,该二级目录是否可以浏览。如下:

KVM、kickstart与nginx集成

KVM、kickstart与nginx集成

通过上述两张截图,我们可以清晰的看到。我们在nginx中配置的目录已经可以正常浏览。

以上是有关nginx的配置,下面我们开始在KVM中安装VM。使用如下命令:

virt-install -n kickstart -r 2048 –vcpus=1 –os-type=linux -l http://192.168.1.102/centos -f /dev/vg1/kickstart –bridge=br0 -m 00:16:3E:12:D7:5D –nographics -x “console=ttyS0 –device=eth0 ip=192.168.1.220 netmask=255.255.255.0 gateway=192.168.1.1ks=http://192.168.1.102/ks/ks.cfg ksdevice=eth0″

注意命令中红色标记出来的部分。

其中-l http://192.168.1.102/centos就是nginx作为KVM安装虚拟机的镜像源来使用的。

在这我们可以看出http的连接形式为:http://ip_addr/path,其中/path为http的web访问路径。

ks.cfg文件我们也使用http进行连接,如下:

more /ks/ks.cfg

KVM、kickstart与nginx集成

注意其中配置的http的URL连接如下:

url –url=“http://192.168.1.102/centos”

下面开始正式安装VM,如下:

KVM、kickstart与nginx集成

KVM、kickstart与nginx集成

到此nginx与KVM、kickstart配合使用算是完成。