alexTitakoff
@alexTitakoff
Фулстек js/php/node.js/python

Как настроить сервер. Чтобы один Nginx docker-контейнер обслуживал несколько приложений (php/python/etc)?

День добрый господа!

Не столь силен в nginx и с Docker только разбираюсь.

Что есть:
1. Один VPS дроплет на DigitalOcean
2. Один домен: mydomen.com
3. Один Nginx контейнер
4. Много приложений : php, python, node.js и другие

Цель: запустить соотвественно php-приложения на php1.mydomen.com, php2.mydomen.com и тд, python1.mydomen.com, python2.mydomen.com и тд. Чтобы это все обслуживал один nginx в связке с другими прослойками (*если необходимы) уже в других контейнерах приложений.

Возможно иная формулировка задачи и ее решения :)
Мб кто направит, гайдом или ссылкой хорошей.
  • Вопрос задан
  • 1296 просмотров
Решения вопроса 2
А в чём проблема? Разворачиваете контейнер с Nginx и приложениями, в конфигурационном файле Nginx прописываете
# Для приложения на PHP
server {
server_name php1.mydomen.com;
location ~* \.php$ {
        try_files $uri = 404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass IP_OF_CONTAINER:FPM_PORT; # подключаем сокет php-fpm
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

#Для python приложения (uwsgi)
server {
server_name python1.mydomen.com
location / {
        uwsgi_pass  IP_OF_CONTAINER:UWSGI_PORT;
        include     /path/to/your/mysite/uwsgi_params; # the uwsgi_params file you installed
    }
}

Бэкенд каждого приложения (php-fpm или uwsgi) запущен в отдельном контейнере и слушает свой порт.
Ответ написан
alexTitakoff
@alexTitakoff Автор вопроса
Фулстек js/php/node.js/python
Решил вопрос отчасти по данному гайду https://habrahabr.ru/post/317636/, отчасти по сборке коллеги. Используется nginx-proxy пакет с docker-hub, с авто-генерацией темплейтов для хостов. Поднимается новый контейнер с приложением - регистриуется хост.

Пока тестирую смотрю нюансы
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы