Server:

 1 from flask import Flask, request, jsonify
 2 import json
 3 import re
 4 import os
 5 import subprocess
 6 
 7 conf_file_src = '/etc/nginx/nginx.conf'
 8 restart_shell = 'sudo service nginx restart'
 9 
10 app = Flask(__name__)
11 
12 # 重置conf文件
13 # conf文件中要测试的值置为 ###arg###
14 def reset_conf(file_name, data):
15     # 打开模板文件
16     file = open(file_name, 'r')
17     file_temp = file.read()
18     for key in data:
19         # 替换要调试的参数
20         re_model = re.compile(r'###')
21         args = re.findall(r'###\S' + key + '###', file_temp)
22 
23         for arg in args:
24             print(arg)
25             file_temp = file_temp.replace(arg, data[key], 100)
26 
27     # 写入新的配置文件
28     file_conf = open(conf_file_src, 'w+')
29     file_conf.write(file_temp)
30     file_conf.close()
31 
32 
33 # 重启nginx服务
34 def reset_service():
35     # 重启service
36     res = os.popen(restart_shell).readline()
37     return 'Result: ' + res
38 
39 # url : xxx.xxx.xxx.xxx:5000/restart
40 # 参数:
41 # data: {'arg1':'v1','arg2':'v1']}
42 # 返回:转发执行结果
43 @app.route('/restart', methods=['POST'])
44 def restart():
45     data = json.loads(request.get_data(as_text=True))
46     print(data)
47     reset_conf("nginx.conf.template", data)
48     result = reset_service()
49     return result
50 
51 if __name__ == '__main__':
52     app.run()
View Code

相关文章:

  • 2022-12-23
  • 2021-05-07
  • 2021-12-06
  • 2021-09-04
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-03-08
  • 2021-09-01
  • 2022-12-23
  • 2022-12-23
  • 2021-08-03
相关资源
相似解决方案