В настоящее время мы развертываем нашу внутреннюю программу на двух разных серверах. Оба этих сервера построены в Cisco Openstack. ОС Centos 7.
Проблема в том, что при каждом повторном развертывании приложения нам нужно перезапускать tomcat; завершение работы tomcat ведет себя так, как ожидалось. Когда мы запускаем tomcat, сервер не отвечает более 10 минут.
Вот мой процесс:
Если я перейду к URL-адресу, связанному с веб-страницей, полоса загрузки будет вращаться примерно 10 или более минут, пока страница внезапно не появится.
Я также пробовал использовать wget на домашней странице приложения. Я получаю сообщение об ошибке ожидания ответа, как показано ниже:
[vagrant@host-10-105-5-51 Gen]$ !w
wget 10.105.5.47:8080/am
--2016-09-10 11:34:51-- http://10.105.5.47:8080/am
Connecting to 10.105.5.47:8080... connected.
HTTP request sent, awaiting response...
Я не совсем уверен, как подойти к этой проблеме, кроме поиска в Google.
Я должен добавить к этому вопросу еще несколько деталей:
Я обнаружил, что проблема связана с SecureRandom. Вот моя машина с открытым стеком:
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
Running renew job for nxueo client in background
27-Sep-2016 09:25:08.992 INFO [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [632,566] milliseconds.
Вот моя ошибка на бродячей машине:
26-Sep-2016 12:31:49.714 INFO [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [26,213] milliseconds.
Это было исправлено выполнением следующей команды:
sudo echo "securerandom.source=file:/dev/urandom" >> $JAVA_HOME"/jre/lib/security/java.security";
Трудно сказать, что происходит, без дополнительной информации, но, поскольку ваше веб-приложение в конечном итоге работает нормально, я думаю, что развертывание просто займет очень много времени.
Вы проверили журнал Tomcat на предмет подсказок?
Одна из распространенных проблем, с которыми я столкнулся, заключается в том, что веб-приложениям требуется доступ в Интернет или разрешается имя хоста во время развертывания, и они проводят много времени в ожидании таймаута.