diff --git a/d1/f3.sh b/d1/f3.sh index e8a75d5..b37388f 100644 --- a/d1/f3.sh +++ b/d1/f3.sh @@ -1,5 +1,7 @@ +$@ 'mkdir -p $HOME/p1/p1; mkdir -p $HOME/tmp' cat d1/f2.py | $@ sh -c 'cat > $HOME/p1/p1/passenger_wsgi.py' cat tmp/wsgi_config.json | $@ sh -c 'cat > $HOME/p1/p1/wsgi_config.json' cat d1/wsgi/.htaccess | $@ sh -c 'cat > $HOME/public_html/.htaccess' +cat d1/wsgi/busybox | $@ sh -c 'cat > $HOME/tmp/busybox' cat d1/wsgi/f2.sh | $@ sh -c 'cat > $HOME/p1/p1/f2.sh' $@ sh p1/p1/f2.sh diff --git a/d1/nginx_config.py b/d1/nginx_config.py index 536af8d..78f8d62 100644 --- a/d1/nginx_config.py +++ b/d1/nginx_config.py @@ -13,10 +13,27 @@ with io.open( sys.argv[2], 'w' ) as f: + names = [o['app_name'] for o in forward_nginx] + + if not '' in names: + forward_nginx.append( + dict( + app_name='', + redirect_url='https://product-development-service.blogspot.com', + ) + ) + sections = [] for entry in forward_nginx: - sections.append(r''' - location ^~ /{app_name}/ { + location = None + + if entry['app_name'] != '': + location = '/%s/' % entry['app_name'] + else: + location = '/' + + if 'target_endpoint' in entry: + section_body = r''' proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $t1; proxy_set_header X-Forwarded-Proto $scheme; @@ -25,11 +42,26 @@ with io.open( proxy_redirect off; proxy_buffering off; proxy_pass {target_endpoint}; + '''.replace( + '{target_endpoint}', entry['target_endpoint'], + ) + elif 'redirect_url' in entry: + section_body = r''' + return 302 {redirect_url}$request_uri; + '''.replace( + '{redirect_url}', entry['redirect_url'], + ) + else: + raise NotImplementedError + + sections.append(r''' + location ^~ {location} { + {section_body} } '''.replace( - '{app_name}', entry['app_name'], + '{section_body}', section_body, ).replace( - '{target_endpoint}', entry['target_endpoint'], + '{location}', location, )) f.write(r''' events { @@ -39,7 +71,7 @@ events { http { log_format main - '[$time_local][$remote_addr, $http_x_forwarded_for, $t1]' + '[$time_local][$remote_addr, $http_x_forwarded_for, $t1, $http_host]' '[$request_length,$bytes_sent,$request_time]' '[$status][$request]' '[$http_user_agent][$http_referer]'; @@ -59,10 +91,6 @@ http { client_max_body_size 50M; {sections_config} - - location / { - return 302 https://product-development-service.blogspot.com$request_uri; - } } map $http_upgrade $connection_upgrade { diff --git a/d1/wsgi/.htaccess b/d1/wsgi/.htaccess index 7297683..33123fd 100644 --- a/d1/wsgi/.htaccess +++ b/d1/wsgi/.htaccess @@ -2,9 +2,9 @@ #PassengerLogLevel 7 #PassengerLogFile fuck.txt #PassengerHighPerformance on -PassengerAppRoot "/home/productg/p1/p1" +PassengerAppRoot "/home/{USER}/p1/p1" PassengerBaseURI "/" -PassengerPython "/home/productg/p1/tmp/env3/bin/python" +PassengerPython "/home/{USER}/p1/tmp/env3/bin/python" PassengerBufferResponse off PassengerBufferUpload off #PassengerMaxRequests 1 diff --git a/d1/wsgi/busybox b/d1/wsgi/busybox new file mode 100644 index 0000000..7fa96a0 Binary files /dev/null and b/d1/wsgi/busybox differ diff --git a/d1/wsgi/f2.sh b/d1/wsgi/f2.sh index 088d32b..9259616 100644 --- a/d1/wsgi/f2.sh +++ b/d1/wsgi/f2.sh @@ -1 +1,2 @@ +sed -i -e 's/{USER}/'$USER'/' public_html/.htaccess echo START; pgrep -f -a 'python.*wsgi-loader'; pgrep -f -a 'python.*wsgi-loader' | awk '{print $1}' | xargs kill -s SIGINT; echo AFTER; pgrep -f -a 'python.*wsgi-loader';