From 731d9a3b76444bd0d651116be9646427b7be0254 Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Mon, 21 May 2012 09:40:44 -0700 Subject: [PATCH] Adding app04, updating new app server bootstrap script. --- config/hosts | 3 ++- config/nginx.newsblur.conf | 4 ++-- fabfile.py | 32 +++++++++++++++++++++++--------- 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/config/hosts b/config/hosts index b91b1b5e1..c6c7e8395 100644 --- a/config/hosts +++ b/config/hosts @@ -3,6 +3,7 @@ 199.15.250.228 app01 app01.newsblur.com 199.15.250.229 app02 app02.newsblur.com push 199.15.252.156 app03 app03.newsblur.com dev +199.15.252.109 app04 app04.newsblur.com www 199.15.253.218 db01 db01.newsblur.com 199.15.252.50 db02 db02.newsblur.com 199.15.253.226 db03 db03.newsblur.com @@ -13,4 +14,4 @@ 199.15.252.148 task04 task04.newsblur.com 199.15.252.106 task05 task05.newsblur.com 199.15.252.107 task06 task06.newsblur.com -199.15.252.108 task07 task07.newsblur.com \ No newline at end of file +199.15.252.108 task07 task07.newsblur.com diff --git a/config/nginx.newsblur.conf b/config/nginx.newsblur.conf index dc7ae4ec6..a25fbcebd 100644 --- a/config/nginx.newsblur.conf +++ b/config/nginx.newsblur.conf @@ -13,8 +13,8 @@ server { listen 443 default_server ssl; ssl on; - ssl_certificate /home/sclay/newsblur/config/certificates/www.newsblur.com.crt; - ssl_certificate_key /home/sclay/newsblur/config/certificates/www.newsblur.com.key; + ssl_certificate /home/sclay/newsblur/config/certificates/newsblur.com.crt; + ssl_certificate_key /home/sclay/newsblur/config/certificates/newsblur.com.key; client_max_body_size 4M; server_name www.newsblur.com push.newsblur.com 199.15.250.228 127.0.0.1; diff --git a/fabfile.py b/fabfile.py index debd5dc30..b95dd5ee5 100644 --- a/fabfile.py +++ b/fabfile.py @@ -32,10 +32,13 @@ env.user = 'sclay' env.roledefs ={ 'local': ['localhost'], 'app': ['app01.newsblur.com', - 'app02.newsblur.com'], + 'app02.newsblur.com', + 'app03.newsblur.com', + 'app04.newsblur.com'], 'dev': ['dev.newsblur.com'], 'web': ['www.newsblur.com', - 'app02.newsblur.com'], + 'app02.newsblur.com', + 'app04.newsblur.com'], 'db': ['db01.newsblur.com', 'db02.newsblur.com', 'db03.newsblur.com', @@ -245,8 +248,13 @@ def setup_app(): setup_app_firewall() setup_app_motd() copy_app_settings() + copy_certificates() + configure_nginx() setup_gunicorn(supervisor=True) update_gunicorn() + setup_node() + pre_deploy() + deploy_full() def setup_db(): setup_common() @@ -347,11 +355,11 @@ def setup_psycopg(): def setup_python(): # sudo('easy_install -U pip') - # sudo('easy_install -U fabric django==1.3.1 readline pyflakes iconv celery django-celery django-celery-with-redis django-compress South django-extensions pymongo stripe BeautifulSoup pyyaml nltk lxml oauth2 pytz boto seacucumber django_ses mongoengine redis requests') + sudo('easy_install -U fabric django==1.3.1 readline pyflakes iconv celery django-celery django-celery-with-redis django-compress South django-extensions pymongo stripe BeautifulSoup pyyaml nltk lxml oauth2 pytz boto seacucumber django_ses mongoengine redis requests') put('config/pystartup.py', '.pystartup') - # with cd(os.path.join(env.NEWSBLUR_PATH, 'vendor/cjson')): - # sudo('python setup.py install') + with cd(os.path.join(env.NEWSBLUR_PATH, 'vendor/cjson')): + sudo('python setup.py install') with settings(warn_only=True): sudo('su -c \'echo "import sys; sys.setdefaultencoding(\\\\"utf-8\\\\")" > /usr/lib/python2.7/sitecustomize.py\'') @@ -368,7 +376,7 @@ def setup_hosts(): def config_pgbouncer(): put('config/pgbouncer.conf', '/etc/pgbouncer/pgbouncer.ini', use_sudo=True) - # put('config/pgbouncer_userlist.txt', '/etc/pgbouncer/userlist.txt', use_sudo=True) + put('config/pgbouncer_userlist.txt', '/etc/pgbouncer/userlist.txt', use_sudo=True) sudo('echo "START=1" > /etc/default/pgbouncer') sudo('/etc/init.d/pgbouncer stop') with settings(warn_only=True): @@ -376,7 +384,6 @@ def config_pgbouncer(): sudo('/etc/init.d/pgbouncer start') def config_monit(): - # sudo('apt-get install -y monit') put('config/monit.conf', '/etc/monit/conf.d/celery.conf', use_sudo=True) sudo('echo "startup=1" > /etc/default/monit') sudo('/etc/init.d/monit restart') @@ -495,17 +502,24 @@ def setup_staging(): run('touch logs/newsblur.log') def setup_node(): - sudo('add-apt-repository ppa:chris-lea/node.js') + sudo('add-apt-repository -y ppa:chris-lea/node.js') sudo('apt-get update') - sudo('apt-get install nodejs') + sudo('apt-get -y install nodejs') run('curl http://npmjs.org/install.sh | sudo sh') sudo('npm install -g supervisor') sudo('ufw allow 8888') put('config/supervisor_node.conf', '/etc/supervisor/conf.d/node.conf', use_sudo=True) + sudo('supervisorctl reload') + sudo('supervisorctl start node') def copy_app_settings(): put('config/settings/app_settings.py', '%s/local_settings.py' % env.NEWSBLUR_PATH) run('echo "\nSERVER_NAME = \\\\"`hostname`\\\\"" >> %s/local_settings.py' % env.NEWSBLUR_PATH) + +def copy_certificates(): + run('mkdir -p %s/config/certificates/' % env.NEWSBLUR_PATH) + put('config/certificates/comodo/newsblur.com.crt', '%s/config/certificates/' % env.NEWSBLUR_PATH) + put('config/certificates/comodo/newsblur.com.key', '%s/config/certificates/' % env.NEWSBLUR_PATH) # ============== # = Setup - DB =