Заметка об установке tomcat + nginx

apache-tomcat-nginx

Решил записать основные моменты установки и конфигурации, по большей части для себя, на будущее.

У меня на сервере wheezy. Следовательно 7 — максимально доступная версия, если не подключать дополнительные источники.
Для начала, зайдя на сервер, нужно установить java

Установка пройдет с кучей зависимостей.
Далее установить , максимально доступная версия на сервере 7, хотя на локалке у меня 8.

Теперь есть следующие интересующие пути с конфигами.
Тут конфиги по ресурсам в context.xml и хостам в server.xml

Сюда нужно будет класть файл при деплое приложения

А тут конфиги в которых можно изменить параметры запуска сервера.

Что можно сразу и сделать. У меня tomcat сразу не запускался, вернее сервис запускался, но после деплоя приложения в логах падал с ошибкой, говорящей что не хватает памяти. Чтобы увеличить память, необходимо установить env параметры Xms и Xmx. Но если их установить через команду export, то при перезагрузке сервера они потеряются. Значит в /usr/share/tomcat7/bin/ нужно создать файл setenv.sh со следующим содержимым.

Эти параметры устанавливают начальный и максимальный объемы памяти для jvm и для сервлет контейнера catalina.

Для того, чтобы задеплоить свое веб приложение необходимо на локалке в IDE экспортировать war файл, далее поместить war файл в webapps на сервере, далее поменять настройки в server.xml. В моем случае приложение называлось spring-mvc и war файл назывался так же, и я хочу, чтобы сервер открывал путь /spring-mvc по умолчанию, как корень. Следовательно в раздел Host я добавил:

Теперь по пути 127.0.0.1:8080 будет открываться главная страница, а не по пути 127.0.0.1:8080/spring-mvc. Чтобы проверить, что открывается в консоли, я использую консольный браузер lynx.
Так же если приложение использует JNDI для предоставления ресурсов, например подключения к БД, то надо не забыть добавить конфиг в context.xml

Далее можно настроить host и конфиг будет очень простой. Все что нужно, так это сделать прокси с 80 порта на 8080.

Создав этот конфиг в файле host.conf и активировав его, конечно же, при условии, что хост уже привязан к серверу, можно перезапустить tomcat и nginx и увидеть главную страницу в браузере по адресу хоста.