Посты по тегу: tomcat

Медленный старт Tomcat7 на серверах Digital Ocean

Столкнулись на работе с тем, что Tomcat7 ооочень медленно запускается в дроплетах DigitalOcean. Оказалось, что при запуске он долго ожидает данных от устройства /dev/random, которое использует Java.

Решение довольно простое, но, к сожалению оно занимает одно ядро процессора. Необходимо увеличить энтропию в системе. Для этого ставим приложение haveged:

sudo apt-get install haveged

Затем меняем в файле /etc/default/haveged значение -w на:

-w 2048

И перезапускаем службы:

sudo service haveged restart
sudo service tomcat7 restart

Проверить текущее значение энтропии можно так:

cat /proc/sys/kernel/random/entropy_avail

UPDATE

Можно сделать немного проще и не использовать сторонние демоны. В файле /etc/default/tomcat7 в настройку JAVA_OPTS дописать:

-Djava.security.egd=file:/dev/./urandom

В итоге Tomcat7 будет запускаться значительно быстрее.

https на Tomcat7 за Nginx

Если вы терминируете https на Nginx, а за ним стоит Tomcat7, то стоит проверить как посылаются данные из форм. Скорее всего это будет HTTP.

Чтоб данные отправлялись по https необходимо в Tomcat7 дописать следующий блок:

<Valve className="org.apache.catalina.valves.RemoteIpValve"
       remoteIpHeader="x-forwarded-for"
       remoteIpProxiesHeader="x-forwarded-by"
       protocolHeader="x-forwarded-proto"
/>