Go to content Go to menu Go to search

Установка Tomcat + Nginx на CentOS 6

Подготовка

Прежде всего нам понадобится репозиторий Epel, подключаем по официальной инструкции

Кроме того, нам понадобится репозиторий nginx, потому что там самая свежая версия. Пакет для установки репозитория берем из официальной инструкции
Для CenOs 6 например делаем так:

rpm -Uvh http://nginx.org/packages/rhel/6/noarch/RPMS/nginx-release-rhel-6-0.el6.ngx.noarch.rpm

Tomcat

Установить пакеты

yum install java-1.7.0-openjdk
yum install tomcat tomcat-admin-webapps tomcat-native log4j tomcat-webapps

в целях совместимости с инсталляциями, которые делаются из tar-архивов и для удобства разработчиков делаем символическую ссылку в /opt:

ln -s /usr/share/tomcat /opt

автозагрузка

chkconfig tomcat on

доступ к админке, и разрешение деплоя скриптом, в /etc/tomcat/tomcat-users.xml :

<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>

<role rolename="manager-script"/>
<user username="manager-script" password="SyHaddim" roles="manager-script"/>

Основные настройки Tomcat находятся в /etc/sysconfig/tomcat, например такие:

JAVA_OPTS="-Djava.awt.headless=true \
    -XX:MaxPermSize=384m -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled \
    -Xms5120m -Xmx5120m -XX:+UseConcMarkSweepGC \
    -Dspring.profiles.active=production \
    -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=58084 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=10.0.1.42 \
    -Djsse.enableSNIExtension=false"

CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=58084 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=10.0.1.42"

Включаем NIO (Non-Blocking Input-output) HTTP1.1 Java connector.
Для этого в /etc/tomcat/server.xml меняем строку:

<Connector port="8080" protocol="HTTP/1.1"

на:

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"

Стартуем tomcat service tomcat start и смотрим /var/log/tomcat/catalina.out. Строка со словами INFO: Server startup in 765 ms говорит о том, что мы все сделали правильно.

опционально – для высокой нагрузки нужно увеличить лимиты (количество процессов и количество файлов) для пользователя tomcat: в файле /etc/security/limits.conf

tomcat      soft    nproc       12000
tomcat      hard    nproc       15000
tomcat      soft    nofile      10000

Nginx

Ставим пакет:

yum install nginx

Связка с Tomcat:

Cоздаем /etc/nginx/conf.d/mytest1.ru.conf :

пусть сайт у нас называется mytest1.ru а приложение test_app

server {
server_name mytest1.ru;

   location / {
       rewrite ^(.*)$ /test_app$1 break;
       proxy_pass http://localhost:8080;
       proxy_http_version 1.1;
       proxy_set_header Host $http_host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-Host $host;
       proxy_set_header X-Forwarded-Server $host;
       proxy_set_header Upgrade $http_upgrade; # websocket reverce proxy
       proxy_set_header Connection "upgrade"; # websocket reverce proxy
       proxy_no_cache 1;
   }
}

Ставим в автозапуск

chkconfig nginx on

Стартуем

service nginx start

Готово!


при публикации материалов с данного сайта обратная ссылка на сайт обязательна.
valynkin.ru © no rights reserved