diff --git a/README.md b/README.md new file mode 100644 index 0000000..4873e6b --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +## Правила для разработчика + +- Разрабока ведется в отдельном брэнче +- После комита изменений можно проверить свою работу по следующему адресу: .lms.test.spicycms.com +- После проверки тестового сайта по имени брэнча, брэнч помечается к мерж реквесту +- Ответсвенный инженер производит код ревью и запускает/отклоняет мерж +- Если сайт запустился на демо сайте, код в ручом режиме можно обновить на продакшен сервере + +### Замечания + +- Мерж реквест лучше производить в ветку develop(чтобы исключить случайного обновления кода на демо сайте) +- Внимание! Разработчик обязан проверить работоспособность тестового сайта по имени созданного брэнча .lms.test.spicycms.com +- Если необходимы тестовые данные разработчик их подготавливает дополнительно +- Если нет возможности добавить тестовые данные в авто режиме, разработчик добавляет инструкцию в README файл по запуску необходимых команд + +(Под тестовыми данными подразумеваются фикстуры) diff --git a/conf/nginx.conf b/conf/nginx.conf index 52703a9..d441769 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -39,3 +39,26 @@ server { } } + +server { + gzip on; + gzip_disable "msie6"; + gzip_vary on; + gzip_proxied any; + gzip_comp_level 6; + gzip_buffers 16 8k; + gzip_http_version 1.1; + gzip_types text/plain text/css application/json application/x-javascript text/xml applic$ + listen 80; + client_max_body_size 4G; + server_name s.skillbox.ru; + #error_log /var/www/logs/codemy/flnginx-error.log; + keepalive_timeout 5; + + root %(project_path)s; + + location / { + proxy_pass http://localhost:5555; + } +} + diff --git a/conf/supervisor.conf b/conf/supervisor.conf index c036fd9..8170f82 100644 --- a/conf/supervisor.conf +++ b/conf/supervisor.conf @@ -1,44 +1,46 @@ -;[program:rabbitmq] -;command:rabbitmq-server -;tdout_logfile=/var/log/rabbitmq.log -;stderr_logfile=/var/log/rabbitmq.log -;autostart=true -;autorestart=true -;startsecs=10 - -;priority=999 - -;[group:%(project_name)s] -;programs=gunicorn,celery - [program:uwsgi] command = /usr/bin/uwsgi --ini %(project_path)s/uwsgi_prod.ini stopasgroup = true killasgroup = true -#[program:gunicorn] -#command=%(project_path)s/env/bin/gunicorn_django -c gunicorn.conf.py -p gunicorn.pid -#directory=%(project_path)s -#user=%(user)s -#autostart=true -#autorestart=true -#redirect_stderr=true +; ================================== +; celery worker supervisor example +; ================================== + +[program:celery_codemy] +command=%(project_path)s/env/bin/celery worker -A lms --loglevel=INFO +directory=%(project_path)s +user=www-data +numprocs=1 +;stdout_logfile=/var/www/logs/codemy/celery-worker.log +;stderr_logfile=/var/www/logs/codemy/celery-worker.log +autostart=true +autorestart=true +startsecs=10 +stopwaitsecs = 600 +killasgroup=true -;[program:celery] -;command=%(project_path)s/env/bin/python manage.py celery worker -B -S djcelery.schedulers.DatabaseScheduler --loglevel=INFO -;directory=%(project_path)s -;user=ubuntu -;numprocs=1 -;stdout_logfile=/var/log/celeryd.log -;stderr_logfile=/var/log/celeryd.log -;autostart=true -;autorestart=true -;startsecs=10 +[program:celery_beat_codemy] +command=%(project_path)s/env/bin/celery beat -A lms --schedule /var/lib/celery/beat.db --loglevel=INFO +directory=%(project_path)s +user=www-data +numprocs=1 +;stdout_logfile=/var/www/logs/codemy/celery-beat.log +;stderr_logfile=/var/www/logs/codemy/celery-beat.log +autostart=true +autorestart=true +startsecs=10 +priority=999 -; Need to wait for currently executing tasks to finish at shutdown. -; Increase this if you have very long running tasks. -;stopwaitsecs = 600 +[program:celery_flower_codemy] +command=%(project_path)s/env/bin/celery -A lms flower +directory=%(project_path)s +user=www-data +numprocs=1 +;stdout_logfile=/var/www/logs/codemy/celery-flower.log +;stderr_logfile=/var/www/logs/codemy/celery-flower.log +autostart=true +autorestart=true +startsecs=10 +priority=600 -; if rabbitmq is supervised, set its priority higher -; so it starts first -;priority=998 diff --git a/fabfile.py b/fabfile.py index 33a884c..8878963 100644 --- a/fabfile.py +++ b/fabfile.py @@ -272,7 +272,6 @@ def create(): Stages the application on the server """ sudo('rm -r %s -f' % env.project_path) - sudo('chown %s /var' % 'www-data') with cd('/var'): run('mkdir -p www') with cd('/var/www'): @@ -284,6 +283,7 @@ def create(): with virtualenv(): run('pip install -r %s/requirements.txt' % env.project_path) + sudo('chown -R www-data /var/www/') #pip('python-memcached') #upload_template_and_reload('django_settings') diff --git a/lms/settings.py b/lms/settings.py index a3461cd..3a5ae7a 100644 --- a/lms/settings.py +++ b/lms/settings.py @@ -121,8 +121,8 @@ DATABASES = { 'NAME': os.environ.get('DB_NAME', 'codemy'), 'USER': os.environ.get('PG_ENV_POSTGRES_USER', 'team'), 'PASSWORD': os.environ.get('PG_ENV_POSTGRES_PASSWORD', 'nu5Xefise'), - 'HOST': os.environ.get('PG_PORT_5432_TCP_ADDR', '192.168.0.2'), - 'PORT': os.environ.get('PG_PORT_5432_TCP_PORT', ''), + 'HOST': os.environ.get('PG_PORT_5432_TCP_ADDR', '77.244.221.176'), + 'PORT': os.environ.get('PG_PORT_5432_TCP_PORT', '5432'), }, }