应用场景:
用python脚本,用来实现虚拟机主机的自动配置。
自动的配置好两个虚拟主机,域名分别为www.abc.com和www.python.com
并自动生成一个简单的测试页面(测试页面内容自定)
##提示这里用apache来测试,已经安装完成。
[root@centos pytonjiaoben]# cat a.py
#-*- coding:utf-8 -*-
import os
def peizhi():
try:
f=open("/etc/httpd/conf.d/a.conf","w")
os.system("echo python > /var/www/index.html")
os.system("echo abc > /var/www/html/index.html")
f.write(‘‘‘
Listen 8080
<VirtualHost *:8080>
DocumentRoot "/var/www"
ServerName www.python.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName www.abc.com
</VirtualHost>
‘‘‘)
except IOError:
os.system("mkdir -p /etc/httpd/conf.d/a.conf")
f=open("/etc/httpd/conf.d/a.conf","w")
f.write(‘‘‘
Listen 8080
<VirtualHost *:8080>
DocumentRoot "/var/www"
ServerName www.python.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName www.abc.com
</VirtualHost>
‘‘‘)
def ceshi():
peizhi()
os.system("service httpd restart")
print "------------web1-----------"
os.system("curl www.python.com:8080 ")
print "------------web2-----------"
os.system("curl www.abc.com")
ceshi()接下来我们来看看执行的结果:
[root@centos pytonjiaoben]# python a.py 停止 httpd: [确定] 正在启动 httpd: [确定] ------------web1----------- python ------------web2----------- abc
我们再来测试我们写的虚拟主机是否能成功访问,主意因为是域名访问所以要配置本地域名解析:
查看端口:
[root@centos pytonjiaoben]# netstat -ntpl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2005/rpcbind tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2328/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 2182/cupsd tcp 0 0 0.0.0.0:44484 0.0.0.0:* LISTEN 2148/rpc.statd tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 67460/mysqld tcp 0 0 :::48779 :::* LISTEN 2148/rpc.statd tcp 0 0 :::111 :::* LISTEN 2005/rpcbind tcp 0 0 :::8080 :::* LISTEN 77172/httpd tcp 0 0 :::80 :::* LISTEN 77172/httpd tcp 0 0 :::22 :::* LISTEN 2328/sshd tcp 0 0 ::1:631 :::* LISTEN 2182/
可以看到端口已经起来了,访问看看:
[root@centos pytonjiaoben]# curl www.python.com:8080 python [root@centos pytonjiaoben]# curl www.abc.com abc
##访问成功;
总结:我们发现基于python实现虚拟主机的部署还是挺容易实现的。
本文出自 “我的运维” 博客,请务必保留此出处http://xiaozhagn.blog.51cto.com/13264135/1982601
原文地址:http://xiaozhagn.blog.51cto.com/13264135/1982601