/
main.py
84 lines (75 loc) · 1.94 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/usr/bin/python3
# coding=utf-8
from services import Nginx, NginxConfigException, PHP, MongoDB, MySQL, Redis
import tools
import settings
nginx = Nginx()
nginx_upstreams = None
try:
nginx_upstreams = nginx.get_php_upstream()
except NginxConfigException:
pass
php = PHP(nginx_upstreams)
mongodb = MongoDB()
mysql = MySQL()
redis = Redis()
if settings.START_PHP:
print("PHP version: {}".format(php))
if settings.START_NGINX:
print("Nginx version: {}".format(nginx))
if settings.START_MONGODB:
print("MongoDB version: {}".format(mongodb))
if settings.START_MYSQL:
print("MySQL version: {}".format(mysql))
if settings.START_REDIS:
print("Redis version: {}".format(redis))
print("")
stop_execution = False
if settings.START_PHP:
print("Starting PHP ({} instances)".format(len(php.addresses)))
php.start()
if settings.START_NGINX:
print("Starting Nginx")
nginx.start()
if settings.START_MONGODB:
print("Starting MongoDB")
mongodb.start()
if settings.START_MYSQL:
print("Starting MySQL")
mysql.start()
if settings.START_REDIS:
print("Starting Redis")
redis.start()
print("")
print("Menu:")
if settings.START_NGINX:
print("(r) to reload Nginx config")
if settings.START_PHP:
print("(p) to restart PHP processes")
print("---")
print("(STRG+c) or (q) to quit")
print("")
while True:
char = tools.getch()
if char == b"\x03" or char == b"q":
break
elif char == b"r" and settings.START_NGINX:
print("Reloading Nginx config... ",end="")
nginx.reload_config()
print("done")
elif char == b"p" and settings.START_PHP:
print("Restarting PHP processes... ",end="")
php.stop()
php.start()
print("done")
print("Stopping processes...")
if settings.START_NGINX:
nginx.stop()
if settings.START_PHP:
php.stop()
if settings.START_MONGODB:
mongodb.stop()
if settings.START_MYSQL:
mysql.stop()
if settings.START_REDIS:
redis.stop()