1. 程式人生 > >Python基礎應用---虛擬主機創建

Python基礎應用---虛擬主機創建

python應用   虛擬主機創建

應用場景:

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

Python基礎應用---虛擬主機創建