mirror of https://github.com/midoks/mdserver-web
commit
3ec02b8ead
@ -0,0 +1,93 @@ |
|||||||
|
# coding:utf-8 |
||||||
|
|
||||||
|
# --------------------------------------------------------------------------------- |
||||||
|
# MW-Linux面板 |
||||||
|
# --------------------------------------------------------------------------------- |
||||||
|
# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved. |
||||||
|
# --------------------------------------------------------------------------------- |
||||||
|
# Author: midoks <midoks@163.com> |
||||||
|
# --------------------------------------------------------------------------------- |
||||||
|
|
||||||
|
import os |
||||||
|
import sys |
||||||
|
import re |
||||||
|
import json |
||||||
|
import time |
||||||
|
import threading |
||||||
|
import multiprocessing |
||||||
|
|
||||||
|
import core.mw as mw |
||||||
|
import thisdb |
||||||
|
|
||||||
|
def getVhostDir(): |
||||||
|
sdir = mw.getServerDir() |
||||||
|
nginx_conf = sdir + "/web_conf/nginx" |
||||||
|
vhosts = nginx_conf+"/vhost" |
||||||
|
return vhosts |
||||||
|
|
||||||
|
def getRootDir(content): |
||||||
|
pattern = r'\s*root\s*(.+);' |
||||||
|
match = re.search(pattern, content) |
||||||
|
if match: |
||||||
|
return match.group(1) |
||||||
|
return '' |
||||||
|
|
||||||
|
def getServerName(content): |
||||||
|
pattern = r'\s*server_name\s*(.+);' |
||||||
|
match = re.search(pattern, content) |
||||||
|
if match: |
||||||
|
content = match.group(1) |
||||||
|
clist = content.strip().split(" "); |
||||||
|
return clist |
||||||
|
return [] |
||||||
|
|
||||||
|
def addDomain(site_id, site_name, domain): |
||||||
|
# print(site_id, site_name, domain) |
||||||
|
d = domain.split(':') |
||||||
|
port = '80' |
||||||
|
name = d[0] |
||||||
|
if len(d) == 2: |
||||||
|
port = d[1] |
||||||
|
if thisdb.checkSitesDomainIsExist(name, port): |
||||||
|
print('您添加的域名[{}:{}],已使用。请仔细检查!'.format(name, port)) |
||||||
|
return True |
||||||
|
thisdb.addDomain(site_id, name, port) |
||||||
|
return True |
||||||
|
|
||||||
|
def parse(): |
||||||
|
vhosts = getVhostDir() |
||||||
|
vh_list = os.listdir(vhosts) |
||||||
|
vail_list = [] |
||||||
|
for f in vh_list: |
||||||
|
if f.startswith("0."): |
||||||
|
continue |
||||||
|
if f.endswith("_bak"): |
||||||
|
continue |
||||||
|
if f.startswith("phpmyadmin"): |
||||||
|
continue |
||||||
|
if f.startswith("webstats"): |
||||||
|
continue |
||||||
|
vail_list.append(f) |
||||||
|
|
||||||
|
for vail_domain in vail_list: |
||||||
|
parseSite(vail_domain) |
||||||
|
|
||||||
|
def parseSite(d): |
||||||
|
vhosts = getVhostDir() |
||||||
|
domain = d.replace(".conf","") |
||||||
|
|
||||||
|
dconf = vhosts + '/' + d |
||||||
|
content = mw.readFile(dconf) |
||||||
|
|
||||||
|
root_dir = getRootDir(content) |
||||||
|
sn_list = getServerName(content) |
||||||
|
|
||||||
|
if thisdb.isSitesExist(domain): |
||||||
|
print('您添加的站点[%s]已存在!' % domain) |
||||||
|
else: |
||||||
|
thisdb.addSites(domain, root_dir) |
||||||
|
info = thisdb.getSitesByName(domain) |
||||||
|
site_id = info['id'] |
||||||
|
|
||||||
|
for sn in sn_list: |
||||||
|
addDomain(site_id, d, sn) |
Loading…
Reference in new issue