File manager - Edit - /usr/local/CyberCP/plogical/tuning.py
Back
import sys sys.path.append('/usr/local/CyberCP') from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging from plogical.installUtilities import installUtilities import argparse from plogical.processUtilities import ProcessUtilities from xml.etree import ElementTree class tuning: @staticmethod def fetchTuningDetails(): if ProcessUtilities.decideServer() == ProcessUtilities.OLS: try: dataToReturn = {} command = "sudo cat /usr/local/lsws/conf/httpd_config.conf" datas = ProcessUtilities.outputExecutioner(command).split("\n") for items in datas: if items.find("maxConnections")>-1: data = items.split() dataToReturn['maxConnections'] = data[1] if items.find("maxSSLConnections") > -1: data = items.split() dataToReturn['maxSSLConnections'] = data[1] if items.find("connTimeout") > -1: data = items.split() dataToReturn['connTimeout'] = data[1] if items.find("maxConnections")>-1: data = items.split() dataToReturn['maxConnections'] = data[1] if items.find("keepAliveTimeout") > -1: data = items.split() dataToReturn['keepAliveTimeout'] = data[1] if items.find("totalInMemCacheSize") > -1: data = items.split() dataToReturn['totalInMemCacheSize'] = data[1] if items.find("enableGzipCompress") > -1: data = items.split() dataToReturn['enableGzipCompress'] = data[1] return dataToReturn except BaseException as msg: logging.CyberCPLogFileWriter.writeToFile( str(msg) + " [fetchTuningDetails]") return 0 else: try: dataToReturn = {} command = "sudo cat /usr/local/lsws/conf/httpd_config.xml" datas = ProcessUtilities.outputExecutioner(command) comTree = ElementTree.fromstring(datas) tuningData = comTree.find('tuning') dataToReturn['maxConnections'] = tuningData.find('maxConnections').text dataToReturn['maxSSLConnections'] = tuningData.find('maxSSLConnections').text dataToReturn['connTimeout'] = tuningData.find('connTimeout').text dataToReturn['keepAliveTimeout'] = tuningData.find('keepAliveTimeout').text dataToReturn['totalInMemCacheSize'] = tuningData.find('totalInMemCacheSize').text dataToReturn['enableGzipCompress'] = tuningData.find('enableGzipCompress').text return dataToReturn except BaseException as msg: logging.CyberCPLogFileWriter.writeToFile( str(msg) + " [fetchTuningDetails]") return 0 @staticmethod def saveTuningDetails(maxConnections,maxSSLConnections,connectionTimeOut,keepAliveTimeOut,cacheSizeInMemory,gzipCompression): if ProcessUtilities.decideServer() == ProcessUtilities.OLS: try: datas = open("/usr/local/lsws/conf/httpd_config.conf").readlines() writeDataToFile = open("/usr/local/lsws/conf/httpd_config.conf","w") if gzipCompression == "Enable": gzip = 1 else: gzip = 0 for items in datas: if items.find("maxConnections") > -1: data = " maxConnections "+str(maxConnections)+"\n" writeDataToFile.writelines(data) continue elif items.find("maxSSLConnections") > -1: data = " maxSSLConnections "+str(maxSSLConnections) + "\n" writeDataToFile.writelines(data) continue elif items.find("connTimeout") > -1: data =" connTimeout "+str(connectionTimeOut)+"\n" writeDataToFile.writelines(data) continue elif items.find("keepAliveTimeout") > -1: data = " keepAliveTimeout " + str(keepAliveTimeOut) + "\n" writeDataToFile.writelines(data) continue elif items.find("totalInMemCacheSize") > -1: data = " totalInMemCacheSize " + str(cacheSizeInMemory) + "\n" writeDataToFile.writelines(data) continue elif items.find("enableGzipCompress") > -1: data = " enableGzipCompress " + str(gzip) + "\n" writeDataToFile.writelines(data) continue else: writeDataToFile.writelines(items) writeDataToFile.close() print("1,None") except BaseException as msg: logging.CyberCPLogFileWriter.writeToFile( str(msg) + " [saveTuningDetails]") print("0," + str(msg)) else: try: datas = open("/usr/local/lsws/conf/httpd_config.xml").readlines() writeDataToFile = open("/usr/local/lsws/conf/httpd_config.xml", "w") if gzipCompression == "Enable": gzip = 1 else: gzip = 0 for items in datas: if items.find("maxConnections") > -1: data = " <maxConnections>" + str(maxConnections) + "</maxConnections>\n" writeDataToFile.writelines(data) continue elif items.find("maxSSLConnections") > -1: data = " <maxSSLConnections>" + str(maxSSLConnections) + "</maxSSLConnections>\n" writeDataToFile.writelines(data) continue elif items.find("<connTimeout>") > -1: data = " <connTimeout>" + str(connectionTimeOut) + "</connTimeout>\n" writeDataToFile.writelines(data) continue elif items.find("<keepAliveTimeout>") > -1: data = " <keepAliveTimeout>" + str(keepAliveTimeOut) + "</keepAliveTimeout>\n" writeDataToFile.writelines(data) continue elif items.find("<totalInMemCacheSize>") > -1: data = " <totalInMemCacheSize>" + str(cacheSizeInMemory) + "</totalInMemCacheSize>\n" writeDataToFile.writelines(data) continue elif items.find("<enableGzipCompress>") > -1: data = " <enableGzipCompress>" + str(gzip) + "</enableGzipCompress>\n" writeDataToFile.writelines(data) continue else: writeDataToFile.writelines(items) writeDataToFile.close() print("1,None") except BaseException as msg: logging.CyberCPLogFileWriter.writeToFile( str(msg) + " [saveTuningDetails]") print("0," + str(msg)) @staticmethod def fetchPHPDetails(virtualHost): if ProcessUtilities.decideServer() == ProcessUtilities.OLS: try: path = installUtilities.Server_root_path + "/conf/vhosts/"+virtualHost+"/vhost.conf" command = "sudo cat "+path datas = ProcessUtilities.outputExecutioner(command).split("\n") dataToReturn = {} for items in datas: if items.find("maxConns")>-1: data = items.split() dataToReturn['maxConns'] = data[1] if items.find("initTimeout") > -1: data = items.split() dataToReturn['initTimeout'] = data[1] if items.find("persistConn") > -1: data = items.split() dataToReturn['persistConn'] = data[1] if items.find("memSoftLimit")>-1: data = items.split() dataToReturn['memSoftLimit'] = data[1] if items.find("memHardLimit") > -1: data = items.split() dataToReturn['memHardLimit'] = data[1] if items.find("procSoftLimit") > -1: data = items.split() dataToReturn['procSoftLimit'] = data[1] if items.find("procHardLimit") > -1: data = items.split() dataToReturn['procHardLimit'] = data[1] return dataToReturn except BaseException as msg: logging.CyberCPLogFileWriter.writeToFile( str(msg) + " [fetchPHPDetails]") return 0 else: try: command = "sudo cat /usr/local/lsws/conf/httpd_config.xml" datas = ProcessUtilities.outputExecutioner(command) comTree = ElementTree.fromstring(datas) extProcessorList = comTree.findall('extProcessorList/extProcessor') dataToReturn = {} for extProcessor in extProcessorList: if extProcessor.find('name').text == virtualHost: dataToReturn['maxConns'] = extProcessor.find('maxConns').text dataToReturn['initTimeout'] = extProcessor.find('initTimeout').text dataToReturn['persistConn'] = extProcessor.find('persistConn').text dataToReturn['memSoftLimit'] = extProcessor.find('memSoftLimit').text dataToReturn['memHardLimit'] = extProcessor.find('memHardLimit').text dataToReturn['procSoftLimit'] = extProcessor.find('procSoftLimit').text dataToReturn['procHardLimit'] = extProcessor.find('procHardLimit').text break return dataToReturn except BaseException as msg: logging.CyberCPLogFileWriter.writeToFile( str(msg) + " [fetchPHPDetails]") return 0 @staticmethod def tunePHP(virtualHost,maxConns,initTimeout,persistConn,memSoftLimit,memHardLimit,procSoftLimit,procHardLimit): if ProcessUtilities.decideServer() == ProcessUtilities.OLS: try: path = installUtilities.Server_root_path + "/conf/vhosts/" + virtualHost + "/vhost.conf" datas = open(path).readlines() writeDataToFile = open(path,"w") for items in datas: if items.find("maxConns") > -1: data = " maxConns "+str(maxConns)+"\n" writeDataToFile.writelines(data) continue elif items.find("initTimeout") > -1: data = " initTimeout "+str(initTimeout) + "\n" writeDataToFile.writelines(data) continue elif items.find("memSoftLimit") > -1: data =" memSoftLimit "+str(memSoftLimit)+"\n" writeDataToFile.writelines(data) continue elif items.find("memHardLimit") > -1: data = " memHardLimit " + str(memHardLimit) + "\n" writeDataToFile.writelines(data) continue elif items.find("procSoftLimit") > -1: data = " procSoftLimit " + str(procSoftLimit) + "\n" writeDataToFile.writelines(data) continue elif items.find("procHardLimit") > -1: data = " procHardLimit " + str(procHardLimit) + "\n" writeDataToFile.writelines(data) continue elif items.find("persistConn") > -1: if persistConn == "Enable": persist = 1 else: persist = 0 data = " persistConn " + str(persist) + "\n" writeDataToFile.writelines(data) continue else: writeDataToFile.writelines(items) writeDataToFile.close() print("1,None") except BaseException as msg: logging.CyberCPLogFileWriter.writeToFile( str(msg) + " [saveTuningDetails]") print("0,"+str(msg)) else: try: path = "/usr/local/lsws/conf/httpd_config.xml" datas = open(path).readlines() writeDataToFile = open(path, "w") activate = 0 for items in datas: if items.find(virtualHost) > -1: writeDataToFile.writelines(items) activate = 1 continue elif activate == 1: if items.find('</extProcessor>') > -1: writeDataToFile.writelines(items) activate = 0 continue if items.find("<maxConns>") > -1: data = " <maxConns>" + str(maxConns) + "</maxConns>\n" writeDataToFile.writelines(data) continue elif items.find("<initTimeout>") > -1: data = " <initTimeout>" + str(initTimeout) + "</initTimeout>\n" writeDataToFile.writelines(data) continue elif items.find("memSoftLimit") > -1: data = " <memSoftLimit>" + str(memSoftLimit) + "</memSoftLimit>\n" writeDataToFile.writelines(data) continue elif items.find("<memHardLimit>") > -1: data = " <memHardLimit>" + str(memHardLimit) + "</memHardLimit>\n" writeDataToFile.writelines(data) continue elif items.find("<procSoftLimit>") > -1: data = " <procSoftLimit>" + str(procSoftLimit) + "</procSoftLimit>\n" writeDataToFile.writelines(data) continue elif items.find("<procHardLimit>") > -1: data = " <procHardLimit>" + str(procHardLimit) + "</procHardLimit>\n" writeDataToFile.writelines(data) continue elif items.find("<persistConn>") > -1: if persistConn == "Enable": persist = 1 else: persist = 0 data = " <persistConn>" + str(persist) + "</persistConn>\n" writeDataToFile.writelines(data) continue else: writeDataToFile.writelines(items) else: writeDataToFile.writelines(items) writeDataToFile.close() print("1,None") except BaseException as msg: logging.CyberCPLogFileWriter.writeToFile( str(msg) + " [saveTuningDetails]") print("0," + str(msg)) def main(): parser = argparse.ArgumentParser(description='CyberPanel Installer') parser.add_argument('function', help='Specific a function to call!') parser.add_argument('--virtualHost', help='Domain name!') parser.add_argument('--maxConns', help='Max Connections for PHP!') parser.add_argument('--initTimeout', help='Initial Request Timeout (secs) for PHP!') parser.add_argument("--persistConn", help="Persistent Connection for PHP!") parser.add_argument("--memSoftLimit", help="Memory Soft Limit (bytes) for PHP!") parser.add_argument("--memHardLimit", help="Memory Hard Limit (bytes) for PHP!") parser.add_argument("--procSoftLimit", help="Process Soft Limit for PHP!") parser.add_argument("--procHardLimit", help="Process Hard Limit for PHP!") ## Litespeed Tuning Arguments parser.add_argument("--maxConn", help="Max Connections for LiteSpeed!") parser.add_argument("--maxSSLConn", help="Max SSL Connections for LiteSpeed!") parser.add_argument("--connTime", help="Connection Timeout (secs) for LiteSpeed!") parser.add_argument("--keepAlive", help="Keep-Alive Timeout (secs) for LiteSpeed!") parser.add_argument("--inMemCache", help="Total Small File Cache Size (bytes) for LiteSpeed!") parser.add_argument("--gzipCompression", help="Enable disable GZIP Compression for LiteSpeed!") args = parser.parse_args() if args.function == "tunePHP": tuning.tunePHP(args.virtualHost, args.maxConns, args.initTimeout, args.persistConn, args.memSoftLimit, args.memHardLimit, args.procSoftLimit, args.procHardLimit) elif args.function == "saveTuningDetails": tuning.saveTuningDetails(args.maxConn, args.maxSSLConn, args.connTime, args.keepAlive, args.inMemCache, args.gzipCompression) if __name__ == "__main__": main()
| ver. 1.4 |
Github
|
.
| PHP 8.2.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings