Tomcat как изменить порт

How to change Apache Tomcat web server default port number? I am developing a web application in JSP, in that for some purpose I need to change tomcat accessing port. Is there any possibility?

How to change Apache Tomcat web server default port number?


I am developing a web application in JSP, in that for some purpose I need to change tomcat accessing port. Is there any possibility?

Zam's user avatar

Zam

2,8621 gold badge17 silver badges33 bronze badges

asked Aug 24, 2013 at 6:13

Siva Siva's user avatar

4

Simple !!… you can do it easily via server.xml

  • Go to tomcat>conf folder
  • Edit server.xml
  • Search «Connector port»
  • Replace «8080» by your port number
  • Restart tomcat server.

You are done!.

Chaminda Bandara's user avatar

answered Aug 24, 2013 at 6:15

kark's user avatar

karkkark

4,6736 gold badges30 silver badges44 bronze badges

2

Navigate to /tomcat-root/conf folder. Within you will find the server.xml file.

Open the server.xml in your preferred editor. Search the below similar statement (not exactly same as below will differ)

    <Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />

Going to give the port number to 9090

     <Connector port="9090" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />

Save the file and restart the server.
Now the tomcat will listen at port 9090

answered Aug 24, 2013 at 6:25

Prabhakaran Ramaswamy's user avatar

You need to edit the Tomcat/conf/server.xml and change the connector port. The connector setting should look something like this:

<Connector port="8080" maxHttpHeaderSize="8192"
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
           enableLookups="false" redirectPort="8443" acceptCount="100"
           connectionTimeout="20000" disableUploadTimeout="true" />

Just change the connector port from default 8080 to another valid port number.

answered Aug 24, 2013 at 6:15

Juned Ahsan's user avatar

Juned AhsanJuned Ahsan

67.1k11 gold badges96 silver badges134 bronze badges

1

1) Locate server.xml in {Tomcat installation folder} conf
2) Find following similar statement

       <!-- Define a non-SSL HTTP/1.1 Connector on port 8180 -->
      <Connector port="8080" maxHttpHeaderSize="8192"
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
           enableLookups="false" redirectPort="8443" acceptCount="100"
           connectionTimeout="20000" disableUploadTimeout="true" />

For example

<Connector port="8181" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />

Edit and save the server.xml file. Restart Tomcat. Done

Further reference:
http://www.mkyong.com/tomcat/how-to-change-tomcat-default-port/

answered Aug 24, 2013 at 6:37

Deepika C P's user avatar

Deepika C PDeepika C P

1,2452 gold badges13 silver badges23 bronze badges

How to change Apache Tomcat web server default port number?


I am developing a web application in JSP, in that for some purpose I need to change tomcat accessing port. Is there any possibility?

Zam's user avatar

Zam

2,8621 gold badge17 silver badges33 bronze badges

asked Aug 24, 2013 at 6:13

Siva Siva's user avatar

4

Simple !!… you can do it easily via server.xml

  • Go to tomcat>conf folder
  • Edit server.xml
  • Search «Connector port»
  • Replace «8080» by your port number
  • Restart tomcat server.

You are done!.

Chaminda Bandara's user avatar

answered Aug 24, 2013 at 6:15

kark's user avatar

karkkark

4,6736 gold badges30 silver badges44 bronze badges

2

Navigate to /tomcat-root/conf folder. Within you will find the server.xml file.

Open the server.xml in your preferred editor. Search the below similar statement (not exactly same as below will differ)

    <Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />

Going to give the port number to 9090

     <Connector port="9090" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />

Save the file and restart the server.
Now the tomcat will listen at port 9090

answered Aug 24, 2013 at 6:25

Prabhakaran Ramaswamy's user avatar

You need to edit the Tomcat/conf/server.xml and change the connector port. The connector setting should look something like this:

<Connector port="8080" maxHttpHeaderSize="8192"
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
           enableLookups="false" redirectPort="8443" acceptCount="100"
           connectionTimeout="20000" disableUploadTimeout="true" />

Just change the connector port from default 8080 to another valid port number.

answered Aug 24, 2013 at 6:15

Juned Ahsan's user avatar

Juned AhsanJuned Ahsan

67.1k11 gold badges96 silver badges134 bronze badges

1

1) Locate server.xml in {Tomcat installation folder} conf
2) Find following similar statement

       <!-- Define a non-SSL HTTP/1.1 Connector on port 8180 -->
      <Connector port="8080" maxHttpHeaderSize="8192"
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
           enableLookups="false" redirectPort="8443" acceptCount="100"
           connectionTimeout="20000" disableUploadTimeout="true" />

For example

<Connector port="8181" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />

Edit and save the server.xml file. Restart Tomcat. Done

Further reference:
http://www.mkyong.com/tomcat/how-to-change-tomcat-default-port/

answered Aug 24, 2013 at 6:37

Deepika C P's user avatar

Deepika C PDeepika C P

1,2452 gold badges13 silver badges23 bronze badges

Установка и базовая настройка Tomcat на Linux Ubuntu Server

Обновлено и опубликовано Опубликовано: 10.02.2021

Tomcat на Ubuntu не устанавливается из репозитория (в отличие от некоторых других дистрибутивов Linux, например, CentOS). Поэтому в данной инструкции мы выполним ручную установку — развертывание дополнительных компонентов (Java), загрузку и распаковку пакета веб-сервера Tomcat, а также настройку его автоматического запуска в случае сбоя или после перезагрузки системы. На момент обновления инструкции использовался Tomcat версии 10 и Ubuntu 20.04.

Подготовка сервера
Подготовка системы к установке Tomcat
    Установка JAVA
    Создание пользователя
Установка веб-сервера
Настройка Tomcat как сервиса
Настройка доступа к страницам управления
Поменять порт

Подготовка системы

Обновляем список пакетов в репозиториях:

apt-get update

Задаем имя серверу:

hostnamectl set-hostname server.dmosk.ru

* в данном примере мы зададим имя server.dmosk.ru.

Настраиваем часовой пояс, например:

timedatectl set-timezone Europe/Moscow

* где Europe/Moscow — московское время. Список всех возможных зон смотрим командой timedatectl list-timezones.

Устанавливаем сервис для автоматической синхронизации времени, а также разрешаем его автозапуск:

apt-get install chrony 

systemctl enable chrony

Если мы используем брандмауэр, необходимо открыть порт 8080:

iptables -A INPUT -p tcp —dport 8080 -j ACCEPT 

* 8080 — порт по умолчанию, на котором работает Tomcat. Если мы заходим поменять данный порт, то нужно будет открыть именно его.

Сохраняем правила — для этого устанавливаем утилиту iptables-persistent:

apt-get install iptables-persistent

Если в процессе установки мы отказались сохранять правила, выполняем команду: 

netfilter-persistent save

Можно приступать к установке Java.

Подготовка к установке

Для работы веб-сервера нам необходимы Java и пользователь, под которым будет работать Tomcat.

Установка JAVA

Мы установим пакет openjdk. Для этого вводим команду:

apt-get install default-jdk

* будет установлена последняя версия, максимально совместимая с используемой версией операционной системы Ubuntu.

Если в системе окажется несколько версий java, выберем последнюю. Для этого вводим команду:

update-alternatives —config java

… и выбираем в списке соответствующий вариант.

Проверяем используемую версию java:

java -version

Мы должны увидеть что-то на подобие:

openjdk version «14.0.2» 2020-07-14
OpenJDK Runtime Environment (build 14.0.2+12-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 14.0.2+12-Ubuntu-120.04, mixed mode, sharing)

Java установлен.

Создание пользователя

Создаем пользователя командой:

useradd tomcat -U -s /bin/false -d /opt/tomcat -m

* в итоге будет создан пользователь tomcat со следующими опциями:

  • -U — также будет создана группа с таким же именем, что и пользователь.
  • -s /bin/false — запрещает пользователю интерактивный вход в систему.
  • -d /opt/tomcat — указывает путь до домашней директории пользователя.
  • -m — сразу создает домашнюю директорию пользователю.

Можно приступать к установке веб-сервера Apache Tomcat.

Переходим на страницу официального сайта веб-сервера. В меню слева выбираем необходимую версию Tomcat:

Переходим на страницу загрузки последней версии Tomcat

* на момент обновления статьи, последняя версия была 10.

Копируем ссылку на архив tar.gz:

Копируем ссылку на архив tar.gz с веб-сервером

Используя скопированную ссылку, скачиваем архив на наш сервер:

wget https://apache-mirror.rbc.ru/pub/apache/tomcat/tomcat-10/v10.0.2/bin/apache-tomcat-10.0.2.tar.gz

Распаковываем содержимое архива в каталог /opt/tomcat:

tar zxvf apache-tomcat-*.tar.gz -C /opt/tomcat —strip-components 1

Готово. Можно запустить сервер командой:

/opt/tomcat/bin/startup.sh

Открываем браузер и переходим на страницу http://<IP-адрес нашего сервера>:8080 — мы должны увидеть стартовую страницу Tomcat:

Стартовая страница Tomcat Server

Наш сервер работает.

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

java -cp /opt/tomcat/lib/catalina.jar org.apache.catalina.util.ServerInfo

Мы должны увидеть что-то на подобие:

Server version: Apache Tomcat/10.0.2
Server built:   Jan 28 2021 18:48:46 UTC
Server number:  10.0.2.0
OS Name:        Linux
OS Version:     5.4.0-26-generic
Architecture:   amd64
JVM Version:    14.0.2+12-Ubuntu-120.04
JVM Vendor:     Private Build

Настройка автозапуска

Мы выполнили разовый запуск нашего веб-сервера, но, когда будет перезагружен компьютер, он не запустится. Чтобы это исправить, мы создадим юнит в systemd.

Для начала, остановим работу Tomcat:

/opt/tomcat/bin/shutdown.sh

Поменяем владельца для всех файлов в каталоге /opt/tomcat:

chown -R tomcat:tomcat /opt/tomcat

Создадим конфигурационный файл для нового юнита:

vi /etc/systemd/system/tomcat.service

[Unit]
Description=Apache Tomcat Server
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=»JAVA_HOME=/usr/lib/jvm/default-java»
Environment=»JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true»
Environment=»CATALINA_BASE=/opt/tomcat»
Environment=»CATALINA_HOME=/opt/tomcat»
Environment=»CATALINA_PID=/opt/tomcat/temp/tomcat.pid»
Environment=»CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC»
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

* где обращаем внимание на:

  • User/Group — пользователь и группа пользователя, от чьего имени будет работать сервис.
  • Environment — переменные окружения. В нашем примере задается несколько для нормальной работы Java и Tomcat.
  • ExecStart/ExecStop — пути к скриптам, которые запускают или останавливают работу службы веб-сервера.
  • Restart/RestartSec — задают поведение сервиса при необходимости выполнить перезапуск. В нашем примере выполнять при сбое с интервалом в 10 секунд. 

Из данных опций, возможно вам захочется поменять CATALINA_OPTS, например, задать другие значения для выделения памяти или указать определенный порт. Остальные опции можно оставить.

Перечитываем новый конфигурационный файл в systemd:

systemctl daemon-reload

Стартуем наш сервис:

systemctl start tomcat

Проверяем, что он запустился и работает:

systemctl status tomcat

Мы должны увидеть что-то на подобие:

tomcat.service — Apache Tomcat Server
     Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-02-09 10:30:25 UTC; 22h ago
   Main PID: 14645 (java)

При необходимости перезапуска сервиса, можно будет использовать команду:

systemctl restart tomcat

Теперь открываем нашу страницу по IP-адресу сервера — мы снова должны увидеть стартовую страницу Tomcat.

Доступ к Managing Tomcat

Мы можем использовать веб-интерфейс для управления Tomcat. Для этого используются кнопки на стартовой странице:

  • Server Status
  • Manager App
  • Host Manager

По умолчанию, доступ закрыт в данные разделы. Пошагово, настроим доступ в каждый из них.

Создание служебного пользователя

Создаем пользователя, под которым мы будем авторизовываться в системе.

Открываем файл:

vi /opt/tomcat/conf/tomcat-users.xml

Внутрь раздела tomcat-users добавим:

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

* в данном примере мы создадим пользователя admin с паролем password и ролями admin-gui, manager-gui.

Перезапускаем tomcat:

systemctl restart tomcat

Server Status и Manager App

Разделы позволяют получить доступ к статистике и управлению веб-приложениями. Они настраиваются вместе.

Открываем файл:

vi /opt/tomcat/webapps/manager/META-INF/context.xml

Находим строку:

         allow=»127.d+.d+.d+|::1|0:0:0:0:0:0:0:1″ />

… и добавляем IP-адрес компьютера, с которого будем подключаться, например:

         allow=»127.d+.d+.d+|::1|0:0:0:0:0:0:0:1|192.168.1.15″ />

* в данном примере мы добавили адрес 192.168.1.15, которому разрешаем подключаться к статистике сервера и управлению веб-приложениями.

Пробуем зайти на стартовую страницу и перейти в раздел Server Status:

Server Status на стартовой странице Tomcat Server

Браузер запросит логин и пароль — вводим созданные ранее данные (admin и password). Мы должны увидеть статистику.

Теперь переходим в раздел Manager App:

Manager App на стартовой странице Tomcat Server

Мы должны увидеть раздел «Управление веб-приложениями Tomcat».

Host-Manager

В данном разделе можно управлять виртуальными серверами.

Открываем файл:

vi /opt/tomcat/webapps/host-manager/META-INF/context.xml

Находим строку:

         allow=»127.d+.d+.d+|::1|0:0:0:0:0:0:0:1″ />

… и добавляем IP-адрес компьютера, с которого будем подключаться, например:

         allow=»127.d+.d+.d+|::1|0:0:0:0:0:0:0:1|192.168.1.15″ />

* в данном примере мы добавили адрес 192.168.1.15, которому разрешаем подключаться к управлению виртуальными серверами.

Пробуем зайти на стартовую страницу и перейти в раздел Host Manager:

Host Manager на стартовой странице Tomcat Server

Мы должны увидеть раздел «Управление виртуальными серверами Tomcat».

Поменять порт

По умолчанию, Tomcat запускается на порту 8080. Чтобы сменить номер, открываем файл:

vi /opt/tomcat/conf/server.xml

Находим строку:

    <Connector port=»8080″ protocol=»HTTP/1.1″
   …

… и меняем номер порта, например:

    <Connector port=»8088″ protocol=»HTTP/1.1″

* в данном примере будет задан новый порт 8088.

Перезапускаем сервис:

systemctl restart tomcat

Установка должна производится на чистый сервер, без панели ISPmanager. Для установки хорошо подойдёт шаблон Debian 10.

Перед установкой самого Tomcat необходимо создать пользователя для его работы, а также установить Java.

Создаём пользователя:

useradd tomcat -U -s /bin/false -d /opt/tomcat -m

Устанавливаем Java — для этого воспользуйтесь готовой инструкцией.

Перед установкой Tomcat нужно определиться с его версией. На официальной странице Apache Tomcat, слева есть список версий: выбираем нужную, например Tomcat 10, далее копируем ссылку на загрузку архива tar.gz.

Скачиваем архив:

wget https://apache-mirror.rbc.ru/pub/apache/tomcat/tomcat-10/v10.0.2/bin/apache-tomcat-10.0.2.tar.gz

Распаковываем архив в ранее созданный каталог пользователя tomcat:

tar zxvf apache-tomcat-*.tar.gz -C /opt/tomcat --strip-components 1

И меняем права на файлы для пользователя tomcat:

chown -R tomcat:tomcat /opt/tomcat

Так как сейчас запуск Tomcat осуществляется в ручном режиме, то после перезапуска сервера он не запустится, это нужно исправить. Для этого настроим служебный файл systemd, который будет запускать Tomcat и, если он упадёт, перезапускать.

Ubuntu/Debian

Первым делом выполняем команду update-java-alternatives -l 

Вывод будет примерно таким, значения версий могут отличаться:

java-1.11.0-openjdk-amd64  1111   /usr/lib/jvm/java-1.11.0-openjdk-amd64

Создаём файл /etc/systemd/system/tomcat.service и добавляем в него следующее:

[Unit]
Description=Apache Tomcat Server
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Меняем значение JAVA_HOME на /usr/lib/jvm/java-1.11.0-openjdk-amd64 (может отличаться в зависимости от версии JAVA)

Centos

Создаём файл /etc/systemd/system/tomcat.service и добавляем в него следующее:

[Unit]
Description=Apache Tomcat Server
After=syslog.target network.target


[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=CATALINA_PID=/opt/tomcat/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Далее для применения настроек перезагружаем демона:

systemctl daemon-reload

Запускаем Tomcat:

systemctl start tomcat

Переходим в браузер по ссылке IP_сервера:8080

Настройка доступа к веб-интерфейсу

Tomcat имеет веб-интерфейс управления, но доступ к нему ещё нужно настроить, чем мы сейчас и займёмся.

Создаём пользователя, редактируя файл /opt/tomcat/conf/tomcat-users.xml, добавляем следующие строки в раздел tomcat-users:

   <role rolename="admin-gui"/>
   <role rolename="manager-gui"/>
   <user username="ИМЯ_ПОЛЬЗОВАТЕЛЯ" password="ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ" roles="admin-gui,manager-gui"/>

Далее необходимо разрешить определённому IP заходить в веб-интерфейс управления. Для этого нужно внести изменения в файл /opt/tomcat/webapps/manager/META-INF/context.xml.

Находим строку

allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1" />

Добавляем через прямую черту “|” новый IP, например:

allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1|127.0.0.1" />

То же самое делаем и с файлом /opt/tomcat/webapps/host-manager/META-INF/context.xml.

После всех настроек перезапускаем Tomcat.

systemctl restart tomcat

Далее кликаем на один из трёх пунктов управления на сайте, чтобы авторизоваться:

Вас попросят ввести логин и пароль для авторизации, указываем ранее созданные данные в файле /opt/tomcat/conf/tomcat-users.xml

Смена порта

По умолчанию Tomcat работает на 8080 порту, при необходимости его можно сменить в файле /opt/tomcat/conf/server.xml, найдя строку <Connector port="8080" protocol="HTTP/1.1". Меняем 8080 на нужный порт и перезапускаем Tomcat.

Установка сертификата

Размещаем ключ, сертификат и цепочку на сервере.

Или же генерируем файлы сертификата через Openssl по статье.

Далее нужно совместить сертификат и цепочку, командой:

cat файл_сертификата файл_цепочки > cert.pem

Ключ в формат .pem:

mv файл_ключа key.pem

Генерируем файл .p12

openssl pkcs12 -export -out /tmp/cert_and_key.p12 -in cert.pem -inkey key.pem -name tomcat

Будет запрошен пароль, указываем любой, запоминаем.

Генерируем сертификат для Tomcat:

keytool -importkeystore -deststorepass 'ПАРОЛЬ_МИН_6_ЗНАКОВ' -destkeypass 'ПАРОЛЬ_МИН_6_ЗНАКОВ' -destkeystore /tmp/domain.jks -srckeystore /tmp/cert_and_key.p12 -srcstoretype PKCS12 -srcstorepass 'ПАРОЛЬ_ИЗ_ПРЕДЫДУЩЕГО_ШАГА' -alias tomcat

Перемещаем готовый файл:

mv /tmp/domain.jks /opt/tomcat/conf/domain.jks

В файле /opt/tomcat/conf/server.xml находим блок:

<!--
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
...

</Connector>
-->

Убираем <!-- и --> по краям блока, чтобы раскомментировать его и приводим к виду:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
            maxThreads="150" SSLEnabled="true">
     <SSLHostConfig>
         <Certificate certificateKeystoreFile="conf/domain.jks"
                      certificateKeystorePassword="ПАРОЛЬ_МИН_6_ЗНАКОВ"
                      type="RSA" />
     </SSLHostConfig>
</Connector>

В certificateKeystoreFile указываем файл conf/domain.jks, это ранее созданный сертификат, который мы переместили.

В certificateKeystorePassword указываем пароль, от сертификата. 

Перезапускаем Tomcat:

systemctl restart tomcat

Понравилась статья? Поделить с друзьями:
  • Tomcat return http status error 403
  • Tomcat http status 500 internal server error
  • Tomcat 404 ошибка
  • Tomb raider legend fatal error
  • Tomb raider legend error out of table range