Я уже описывал процесс установки сервера приложений Payara Server и GlassFish
Процесс подготовки мало чем отличается от GlassFish
Действия производятся на Ubuntu
Создаём группу (вообще можно создать а можно и не создавать)
1 | sudo groupadd java
|
Создаём юзера для того что бы всё было сикурно
1 2 | sudo adduser --home /home/tomcat --system --shell /bin/bash tomcat
sudo usermod -a -G java tomcat
|
Либо сразу создаём с указанной группой
1 | sudo adduser --home /home/tomcat --system --shell /bin/bash --ingroup java tomcat
|
Ставим jdk я выбрал open но можно взять и от oracle
1 | sudo apt-get install openjdk-8-jdk
|
Качаем сам сервер Apache Tomcat
1 2 | cd /tmp
wget -c http://apache.osuosl.org/tomcat/tomcat-9/v9.0.0.M9/bin/apache-tomcat-9.0.0.M9.tar.gz
|
Распаковываем
1 | tar -xvf pache-tomcat-9.0.0.M9.tar.gz
|
Перемещаем туда где он будет теперь "жить"
1 | sudo mv apache-tomcat-9.0.0.M9 /usr/local/bin/apache-tomcat-9
|
Далее стартовый скрипт для systemd
1 | sudo vim /etc/systemd/system/tomcat.service
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [Unit]
Description = Apache Tomcat Web Container
After = syslog.target network.target
[Service]
Type = forking
RestartSec = 10
Restart = always
User = tomcat
Group = java
Environment = JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre
Environment = CATALINA_PID=/usr/local/bin/apache-tomcat-9/temp/tomcat.pid
Environment = CATALINA_HOME=/usr/local/bin/apache-tomcat-9
Environment = CATALINA_BASE=/usr/local/bin/apache-tomcat-9
Environment = 'CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment = 'JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart = /usr/local/bin/apache-tomcat-9/bin/startup.sh
ExecStop = /usr/local/bin/apache-tomcat-9/bin/shutdown.sh
[Install]
WantedBy = multi-user.target
|
Включаем автостарт и стартуем
1 2 | systemctl enable tomcat.service
systemctl start tomcat.service
|
И стартовый скрипт для initd
1 | sudo vim /etc/init.d/tomcat9
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #!/bin/bash
export CATALINA_HOME=/usr/local/bin/apache-tomcat-9
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
|
Ну и не забываем сделать его исполняемым
1 | sudo chmod +x /etc/init.d/tomcat9
|
Меняем хозяина каталога
1 | sudo chown -R tomcat:java /usr/local/bin/apache-tomcat-9
|
Сразу правим права
1 | sudo nano /usr/local/apache-tomcat-9/conf/tomcat-users.xml
|
Добавляем такие строчки (логин и пароль ставим свои)
1 2 3 | <role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="megaadmin" password="megaadmin" roles="manager-gui,admin-gui"/>
|
Так же надо указать порты, у меня уже заняты 8080 GlassFish на них крутится. Так что выбрал 8282
1 | sudo nano /usr/local/bin/apache-tomcat-8/conf/server.xml
|
1 | <Connector port="8282" protocol="HTTP/1.1"
|
Запускаем...
1 | sudo service tomcat9 start
|
Если (ура!!!) и всё работает то можно сделать запуск автоматическим
1 2 | sudo update-rc.d tomcat9 defaults
sudo update-rc.d tomcat9 enable
|
Далее я настроил Nginx У меня это выглядит так
1 | vim /etc/nginx/sites-available/at.dtulyakov.ru
|
С таким содержимым
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | upstream at_server {
server 127.0.0.1:8282 fail_timeout=0;
}
server {
listen 80;
server_name at.dtulyakov.ru;
access_log /var/log/nginx/at.dtulyakov.ru.log;
location / {
proxy_pass http://at_server;
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 .
Comments