Как запустить несколько веб-приложений (Spring) на одном сервере?
Есть несколько веб-приложений, написанных на Java с использованием фреймворка Spring. Как их запустить на одном сервере, но чтобы каждое приложение привязывалось к конкретному домену?
Сервер под Ubuntu Server 14.04.
Mr_Sinister: тогда у вас не Spring, а Spring Boot используется - уточните теги в вопросе.
а поточнее тогда так:
0) в файле application.properties добавляете параметр (значение разные у каждого приложения):
server.port=8081
для другого приложения "server.port=8082" и т.д.
1) устанавливаете Nginx и в каталог "/etc/nginx/sites-"available" добавляете
1.0) файл "port_8081" с содержимым:
server {
charset utf-8;
2) потом для созданных файлов port_8081 и port_8082 создать симлинк для их включения:
sudo ln -s /etc/nginx/sites-available/port_8081 /etc/nginx/sites-enabled/port_8081
sudo ln -s /etc/nginx/sites-available/port_8081 /etc/nginx/sites-enabled/port_8081
и перечитать конфиг nginx:
sudo service nginx configtest
sudo service nginx reload
можете проверять работу по разным доменам.
Остатком будет то, что надо будет разобраться что будет отдавать nginx при обращении к серверу по IP (http://XXX.XXX....) - конфиг смотрите тут: /etc/nginx/sites-enabled/default
Приложение, использующее Spring Boot, уже включает в себя контейнер. Я же предлагаю использовать уже существующий контейнер или сервер приложений для запуска приложений в нём. Spring Boot в этом случае не нужен.
Руслан Лопатин: у тебя очень странное и узкой представление о spring boot. ничего не мешает тебе задеплоить его во внешний tomcat как обычную war ку (хотя деплоят всю свою грядку в 1 внешний tomcat в наше время только динозавры)