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