2015-02-27

Установка Apache Tomcat 8.x

Решил установить  контейнер сервлетов - Apache Tomcat.
Не путать с серверами приложений такими как GlassFish или WildFly (бывший JBoss)
Опишу как я это делал
Действия производятся на Ubuntu 14.04.2 LTS



Это по аналогии с GlassFish взято можно было бы так и не делать но ничего плохого от этого нету
sudo groupadd tomcatadm

Создаём юзера для того что бы всё было сикурно
sudo adduser --home /home/tomcat --system --shell /bin/bash tomcat
sudo usermod -a -G tomcatadm tomcat
sudo adduser --home /home/tomcat --system --shell /bin/bash --ingroup tomcatadm tomcat

Ставим jdk я выбрал open но можно взять и от oracle
sudo apt-get install openjdk-7-jdk

Качаем сам Apache Tomcat
cd /tmp
wget -c http://apache.osuosl.org/tomcat/tomcat-8/v8.0.20/bin/apache-tomcat-8.0.20.tar.gz

Распаковываем
tar -xvf apache-tomcat-8.0.20.tar.gz

Перемещаем туда где он будет теперь "жить"
sudo mv apache-tomcat-8.0.5 /usr/local/bin/apache-tomcat-8

Далее стартовый скрипт
sudo nano /etc/init.d/tomcat8


С таким содержимым
#!/bin/bash
export CATALINA_HOME=/usr/local/bin/apache-tomcat-8
export TOMCAT_OWNER=tomcat;
PATH=/sbin:/bin:/usr/sbin:/usr/bin
start() {
    echo -n "Starting Tomcat: "
    su $TOMCAT_OWNER -c "$CATALINA_HOME/bin/startup.sh"
    echo "done"
}
stop() {
    echo -n "Stopping Tomcat: "
    su $TOMCAT_OWNER -c "$CATALINA_HOME/bin/shutdown.sh"
    echo "done"
}
case $1 in
    start|stop) $1;;
    restart) stop; start;;
    *) echo "Run as $0 <start|stop|restart>"; exit 1;;
esac


Ну и не забываем сделать его исполняемым и меняем хозяина каталога
sudo chmod +x /etc/init.d/tomcat8
sudo chown -R tomcat:tomcatadm /usr/local/bin/apache-tomcat-8

Сразу правим права
sudo nano /usr/local/apache-tomcat-8/conf/tomcat-users.xml

Добавляем такие строчки (логин и пароль ставим свои)
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="megaadmin" password="megaadmin" roles="manager-gui,admin-gui"/>

Так же надо указать порты, у меня уже заняты 8080 GlassFish на них крутится. Так что выбрал 8282
sudo nano /usr/local/bin/apache-tomcat-8/conf/server.xml
<Connector port="8282" protocol="HTTP/1.1"

Запускаем...
sudo service tomcat8 start

Если (ура!!!) и всё работает то можно сделать запуск автоматическим
sudo update-rc.d tomcat8 defaults
sudo update-rc.d tomcat8 enable

Далее я настроил Nginx
У меня это выглядит так
nano /etc/nginx/sites-available/at.dtulyakov.ru

С таким содержимым
server {
    listen        80;
    server_name    at.dtulyakov.ru;
    access_log    /var/log/nginx/at.dtulyakov.ru.log;
    location / {
        proxy_pass http://127.0.0.1:8282/;
        proxy_redirect            off;
        proxy_set_header        Host        $proxy_host;        proxy_set_header        X-Real-IP    $remote_addr;
        proxy_set_header        X-Forwarded-For    $proxy_add_x_forwarded_for;
        client_max_body_size        10m;
        client_body_buffer_size        128k;
        proxy_connect_timeout        90;
        proxy_send_timeout        90;
        proxy_read_timeout        90;
        proxy_buffer_size        4k;
        proxy_buffers        4    32k;
        proxy_busy_buffers_size        64k;
        proxy_temp_file_write_size    64k;
    }
}
#EOF

Ну и делаем что бы Nginx читал этот конфиг
cd /etc/nginx/sites-enabled && sudo ln -s ../sites-available/at.dtulyakov.ru .

PS: Конфиг тоже кочует вечно от проекта к проекту так, что  для тестового запуска достаточно было трёх строчек ;-)
/www.dtulyakov.ru/tomcat.html

Комментариев нет:

Отправить комментарий