Большие вещи сделать при развертывании приложения для направляющих

У меня была аналогичная проблема, поэтому я задал вопрос в сообществе Firebase Slack. Я реализовал это и работает как шарм.

9
задан Community 23 May 2017 в 12:13
поделиться

3 ответа

Создайте Capistrano для развертывания, Вы захотите изучить capistrano, если Вы не будете уже знать это и использовать его для развертывания кода автоматизированным способом. Это включит установку Вашего общего каталога и совместно используемых ресурсов как database.yml.

Драгоценный камень MySQL C Based установки, Если у Вас нет всего необходимого, освобождает, это может взять некоторое время, но меньше чем 20 минут.

Удостоверьтесь, что Вы не уязвимы для общей фиксации Сессии нападений веб-приложения, перехвата сеанса, сценариев перекрестного сайта, Внедрение SQL (вероятно, Вы не должны волноваться очень о Внедрении SQL). Убедитесь, что Вы используете h () при выводе вводимых пользователями данных на экране представления. Много хорошего материала онлайн об этом.

Выберите серверную архитектуру Nginx, Полукровка, FastCGI, CGI, Apache, Пассажир: существует много для выбора из. Думайте о том, как Ваше приложение будет использоваться и выберет лучшую архитектуру, затем настройте его.

Настройте Исключение Notifier или Регистратор Исключения, Вы захотите, чтобы Ваше приложение предупредило Вас, когда это повредится. Настройте один из этих инструментов для отслеживания производственных исключений.Примечание: Исключение notifier предупредит Вас, когда направляющие ошибки произойдут (т.е. когда люди URL толстого пальца или деточки сценария нападают на Вас): поэтому думайте о том, что Вы хотите, чтобы платформа сделала, когда это происходит, и корректируйтесь соответственно.

Удостоверьтесь, что все Ваши пароли вне управления исходным кодом, Если у Вас есть database.yml, mail.yml (если Вы используете yaml_mail_config), или другие чувствительные файлы в управлении исходным кодом, получите их из там, замените их database.yml.example и поместите их в общую / папку на Вашем сервере.

Удостоверьтесь, что Ваш DB заблокирован вниз. Много людей забывает защищать MySQL при установке их нового производственного поля Rails. Не будьте похожи на них.

Удостоверьтесь, что все небольшие веб-файлы существуют, Если Вы планируете быть перечисленными в Google, генерируйте файл sitemap.xml. Если Вы планируете использовать .htaccess файл для чего-то, удостоверьтесь, что это там. При необходимости в файле robots.txt, чтобы препятствовать тому, чтобы определенные области сайта были индексированы, сделайте тот. Если Вы хотите красивые 404 страницы, удостоверьтесь, что это настраивается правильно. Если Вы хотите, чтобы страница "Be Right Back" присутствовала, когда Вы развертываетесь, удостоверьтесь, что у Вас есть указанный файл обслуживания Capistrano и Nginx, или Apache знает, как и когда перенаправить к нему.

Получите свои Сертификаты SSL на месте, Если Вы собираетесь использовать SSL, удостоверьтесь, что Вы получаете сертификаты, которые действительны на Вашем производственном домене и настраивают их.

11
ответ дан 4 December 2019 в 13:51
поделиться

Используйте некоторый контроль процесса

Иногда Ваши процессы (полукровки во многих случаях) умрут, или другие плохие вещи произойдут с ними. Например, утечка памяти могла заставить потребление памяти увеличиваться неограниченно долго, или процесс мог начать использовать весь Ваш ЦП.

monit и бог являются оба хорошим выбором сохранить Вас от этой судьбы. Они могут также быть установлены поразить URL в Ваш сайт для проверки на 200 кодов ответа.

Настройте контроль сервера

Некоторые предложения в этом пространстве: fiveruns, newrelic, бойскаут

Эти инструменты запишут подробные метрики на Ваших серверах и неоценимы, когда что-то пойдет не так, как надо, и необходимо видеть то, что на самом деле произошло. Они также дают Вам оперативную информацию о загрузке сервера.

Если у Вас есть кластер, этот вид создания отчетов еще более очень важен.

Резервное копирование

Запишите сценарий для периодического резервного копирования базы данных и любых других активов, которые могут загрузить пользователи. S3 мог бы быть хорошим выбором для этого.

3
ответ дан 4 December 2019 в 13:51
поделиться

Выберите веб-сервер / подсистема балансировки нагрузки

Мой предпочтительный сервер является nginx, но общий шаблон должен запуститься с апача + mod_proxy_http.

1
ответ дан 4 December 2019 в 13:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: