Код: Выделить всё
location ~ \.php$ {
root /data/web/php-project-v1.0.0;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
Код: Выделить всё
location ~ \.php$ {
root /data/web/php-project-v1.1.0;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
Можно ли этим добиться развертывания с нулевым временем простоя? Преимущества, недостатки и моменты, на которые следует обратить внимание, особенно в периоды высокого трафика.
Я протестировал этот подход, и он, по крайней мере, не вызывает ошибок 500 на стороне сервера. После изменения конфигурации запросы, которые еще не были выполнены, по-прежнему возвращают результаты, основанные на логике старого проекта, после завершения их обработки. Однако, по моим наблюдениям, это изменение не вступает в силу сразу после выполнения nginx -s reload. Кажется, логика старого проекта сохраняется какое-то время. Я надеюсь, что разработчики, знакомые с Nginx, смогут объяснить этот феномен и ответить на мой вопрос с более глубокой, основополагающей точки зрения. Кроме того, при поиске этой проблемы в Google я заметил, что очень немногие люди используют этот метод. Почему больше людей не применяют этот метод для автоматического развертывания, особенно в сценариях, где не так много резервных хостов? Это потому, что они об этом не подумали, или есть потенциальные риски?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ation-file
Мобильная версия