Files
pixel-streaming-session-ser…/generate_nginx_config.py
T

50 lines
1.6 KiB
Python

# generate nginx config
import sys
import config
# config
server_domain = config.server_domain
session_server_ip = config.session_server_ip
server_postfix = config.server_postfix
session_server_port = config.session_server_port
session_begin_port = config.session_begin_port
session_limit = config.session_limit
# redirect stdout to file
stdout_default = sys.stdout
output_file_name = 'session-server-' + server_postfix + '.conf'
output_file = open(output_file_name, 'w')
sys.stdout = output_file
# generate config
print('server {')
print('\t#session server domain')
print('\tserver_name ' + str(server_domain) + ';')
print('\n\t#session server location')
print('\tlocation /' + server_postfix + '/ {')
print('\t\tproxy_pass http://' + session_server_ip + ':' + str(session_server_port) + '/;')
print('\t\tproxy_http_version 1.1;')
print('\t\tproxy_set_header Upgrade $http_upgrade;')
print("\t\tproxy_set_header Connection 'upgrade';")
print('\t\tproxy_set_header Host $host;')
print('\t\tproxy_cache_bypass $http_upgrade;')
print('\t}\n')
print('\t#sessions location')
for i in range(0, session_limit):
print('\tlocation /' + str(server_postfix) + '/' + str(session_begin_port + i) + '/ {')
print('\t\tproxy_pass http://' + str(session_server_ip) + ':' + str(session_begin_port + i) + '/;')
print('\t\tproxy_set_header Upgrade $http_upgrade;')
print("\t\tproxy_set_header Connection 'upgrade';")
print("\t\tproxy_connect_timeout 86400s;")
print("\t\tproxy_send_timeout 86400s;")
print("\t\tproxy_read_timeout 86400s;")
print('\t}')
print('}')
# undo redirect to file
sys.stdout = stdout_default
output_file.close()