Skip to content

Instantly share code, notes, and snippets.

@myles
Created January 15, 2010 03:30
Show Gist options
  • Save myles/277783 to your computer and use it in GitHub Desktop.
Save myles/277783 to your computer and use it in GitHub Desktop.
worker_processes 1;
events {
worker_connections 1024;
# use epoll;
}
http {
upstream www {
server 127.0.0.1:8880;
server 127.0.0.1:8881;
server 127.0.0.1:8882;
server 127.0.0.1:8883;
server 127.0.0.1:8884;
server 127.0.0.1:8885;
}
upstream mobile {
server 127.0.0.1:8886;
}
upstream tumblelog {
server 127.0.0.1:8887;
}
upstream short {
server 127.0.0.1:8888;
}
include /usr/local/nginx/conf/mime.types;
default_type application/octet-stream;
keepalive_timeout 65;
proxy_read_timeout 200;
sendfile on;
tcp_nopush on;
gzip on;
gzip_min_length 1000;
gzip_proxied any;
gzip_types text/plain text/html text/css text/xml
application/x-javascript application/xml
application/atom+xml text/javascript;
proxy_next_upstream error;
server {
listen 8080;
# Allow file uploads
client_max_body_size 50M;
location ^~ /media/ {
root /Users/myles/Projects/asgard/homepage/myles/media;
autoindex on;
if ($query_string) {
expires max;
}
}
location = /favicon.ico {
rewrite (.*) /media/img/favicon.ico;
}
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://www;
}
}
server {
listen 8081;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://mobile;
}
}
server {
listen 8082;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://tumblelog;
}
}
server {
listen 8083;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://short;
}
}
}
[unix_http_server]
file=/tmp/supervisor.sock
[inet_http_server]
port=9001
username=admin
password=admin
[supervisord]
logfile=/Users/myles/Projects/asgard/homepage/log/supervisord.log
logfile_maxbytes=50MB
logfile_backup=10
loglevel=info
pidfile=/Users/myles/Projects/asgard/homepage/supervisord.pid
nodaemon=false
minfds=1024
minprocs=200
childlogdir=/Users/myles/Projects/asgard/homepage/log/
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock
[program:tornado-8880]
command=/Users/myles/Projects/asgard/homepage/tornado_server.py --port=8880 --django_settings=myles.settings
user=myles
[program:tornado-8881]
command=/Users/myles/Projects/asgard/homepage/tornado_server.py --port=8881 --django_settings=myles.settings
user=myles
[program:tornado-8882]
command=/Users/myles/Projects/asgard/homepage/tornado_server.py --port=8882 --django_settings=myles.settings
user=myles
[program:tornado-8883]
command=/Users/myles/Projects/asgard/homepage/tornado_server.py --port=8883 --django_settings=myles.settings
user=myles
[program:tornado-8884]
command=/Users/myles/Projects/asgard/homepage/tornado_server.py --port=8884 --django_settings=myles.settings
user=myles
[program:tornado-8885]
command=/Users/myles/Projects/asgard/homepage/tornado_server.py --port=8885 --django_settings=myles.settings
user=myles
[group:www]
programs=tornado-8880,tornado-8881,tornado-8882,tornado-8883,tornado-8884,tornado-8885
[program:tornado-8886]
command=/Users/myles/Projects/asgard/homepage/tornado_server.py --port=8886 --django_settings=myles.settings.tumblelog
[group:tumblelog]
programs=tornado-8886
[program:tornado-8887]
command=/Users/myles/Projects/asgard/homepage/tornado_server.py --port=8887 --django_settings=myles.settings.short
[group:short]
programs=tornado-8887
[program:tornado-8888]
command=/Users/myles/Projects/asgard/homepage/tornado_server.py --port=8888 --django_settings=myles.settings.mobile
[group:short]
programs=tornado-8888
#!/usr/bin/env python
import os
import sys
import logging
ROOT_PATH = os.path.abspath(os.path.dirname(__file__))
# Setup virtualenv
activate_this = os.path.join(ROOT_PATH, 'bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
import tornado.httpserver
import tornado.ioloop
import tornado.wsgi
from tornado.options import define, options
import django.core.handlers.wsgi
define("port", default=8880, help="run on the given port", type=int)
define("django_settings", default="myles.settings", type=str)
def main():
os.environ['DJANGO_SETTINGS_MODULE'] = options.django_settings
application = django.core.handlers.wsgi.WSGIHandler()
container = tornado.wsgi.WSGIContainer(application)
tornado.options.parse_command_line()
http_server = tornado.httpserver.HTTPServer(container)
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment