Настроить сервер на CentOS 6
Хотите добавить свое задание на разработку сайта, дизайна, интернет-магазина или прочей работы?
Введение
Возникла проблема нехватки собственных скилов админства Linux, что вылилось в весьма странные решения и сильно увеличенное время, тратившееся на разработку. Отсюда было принято решение делегировать часть задач, связанную с поднятием и настройкой сервера стороннему специалисту.
Кратко, требуется организовать удобное управление вэб-приложениями. Однако, ngnix или httpd нежелателен.
Что сейчас
Есть два с половиной вэб-приложения (в дальнейшем их число будет расти), каждое из которых надо запускать и останавливать, а также настраивать. Есть несколько адресов на одном сервере, есть postgres, есть python и несколько кривых правил iptables.
Что надо
Научить iptables перенаправлять траффик с 80 и 443 портов разных адресов на соответствующие xx080 и xx443 порты, а также написать врапперы python скриптов, сделав их демонами (сейчас это сделано с помощью daemonize, но я не разобрался как им останавливать).
Перенести всю статику на cdn и сделать некое подобие rsync'а с отдельной папкой на сервере. Или с репозиторием гита.
Что хотелось бы
Утилита app_manage на любимом языке программирования (желательно bash или python), которая умеет
app_manage add добавляет приложение по пути (короткое имя папки есть имя), настройки берёт из config.py
app_manage remove удаляет приложение по названию, если необходимо останавливает сервер
app_manage list показать список приложений, домейн (адрес), порт
app_manage start/stop/restart запускает/останавливает/перезапускает приложение соответственно Конфигурация в данном случае включает домен, который будет разрешаться в уникальный ip адрес, существующий на данной машине, а также всё остальное, что может для этого потребоваться. Порт следует выделить самому исходя из занятых (но я бы использовал (короткий хеш имени)+1024). Ко всему прочему утилита должна быть адекватно написана, чтобы при необходимости можно было аккурат редактировать и расширять функционал. Комментарии не требуются, если код будет говорить сам за себя.
Ngnix или httpd, почему не?
Очень даже не не, просто статика отгружается на cdn, а лишние fcgi мне кажется ни к чему. Тем более, что gevent умеет в ssl/tls. Да и сейчас не ясно, сколько будет серверов, поэтому вариант с iptables мне кажется более гибким, но не исключаю возможность того, что это следствие собственной низкой квалификации в данном вопросе: apache долго ругался и не хотел стартовать, а когда починил всё равно не заработало (я пытался в прокси). В любом случае, если "хотелось бы" можно сделать на ngnix и httpd то мне без разницы, разве только к этому добавится управление сертификатами (возможно подключение к администрированию всего этого будет производится с помощью сертификатов).
На чём
CentOS 6. Да, некрофилия.
Итого
Разобраться с приложениями (желательно с помощью iptables);
перенести статику на cdn, реализовать её автоматическое обновление.
Чтобы оставить свое предложение необходимо войти в систему!