Відповіді:
1) Перейдіть до conf
папки в каталозі установки tomcat
e.g. C:\Tomcat 6.0\conf\
2) Відредагуйте наступний тег у server.xml
файлі
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
3) Змінити port=8080
значення наport=80
4) Зберегти файл.
5) Зупиніть свій Tomcat і перезапустіть його.
etc/default/tomcat7
комплекті AUTHBIND=yes
, щоб уникнути помилки PermissionDenied для порту 80.
Ubuntu 14.04 LTS, в Amazon EC2. Наступні кроки вирішили цю проблему для мене:
1. Відредагуйте server.xml та змініть port = "8080" на "80"
sudo vi /var/lib/tomcat7/conf/server.xml
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
2. Відредагуйте файл tomcat7 (якщо файл не створений, тоді вам потрібно створити його)
sudo vi /etc/default/tomcat7
коментувати та змінювати # AUTHBIND = ні до так
3. Встановити authbind
sudo apt-get install authbind
4. Виконайте такі команди, щоб забезпечити tomcat7 read + Execute на порту 80.
sudo touch /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80
sudo chown tomcat7 /etc/authbind/byport/80
5. Перезапустіть tomcat:
sudo /etc/init.d/tomcat7 restart
authbind
, лише додаючи налаштування.
На базі Linux Debian (включаючи Ubuntu) вам також потрібно перейти /etc/default/tomcat7
, відкоментувати #AUTHBIND=no
рядок і встановити його значення "так", щоб сервер міг прив'язуватися до привілейованого порту.
Для систем Ubuntu та Debian потрібно кілька кроків:
У server.xml змініть рядок <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
на port="80"
.
Встановіть рекомендований (не обов’язковий) пакет автозв’язки з такою командою, як:
sudo apt-get install authbind
Увімкніть автоматичне зв’язування у файлі server.xml (у будь-якому /etc/tomcat6
або /etc/tomcat7
), коментуючи та встановивши рядок:
AUTHBIND=yes
Всі три кроки потрібні.
Я спробував змінити порт 8080
на 80
на, server.xml
але це не спрацювало для мене. Тоді я знайшов альтернативу, оновив iptables
яку я впевнений, що це вплине на продуктивність.
Я використовую такі команди:
sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo /sbin/service iptables save
http://www.excelsior-usa.com/articles/tomcat-amazon-ec2-advanced.html#port80
Оскільки попередні відповіді не спрацювали добре (це було добре, але недостатньо) для мене на сервері Ubuntu 14.04, я згадую ці рекомендації (це цитата).
Редагувати: зауважте, що, як @ jason-faust згадував це у коментарях, 14.04, authbind
пакет, який постачається разом із цим, підтримує IPv6, тому віддати перевагу речі IPv4 більше не потрібно .
1) Install authbind
2) Make port 80 available to authbind (you need to be root):
touch /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
chown tomcat7 /etc/authbind/byport/80
3) Make IPv4 the default (authbind does not currently support IPv6).
To do so, create the file TOMCAT/bin/setenv.sh with the following content:
CATALINA_OPTS="-Djava.net.preferIPv4Stack=true"
4) Change /usr/share/tomcat7/bin/startup.sh
exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
# OLD: exec "$PRGDIR"/"$EXECUTABLE" start "$@"
Якщо у вас вже є setenv.sh
файл /usr/share/tomcat7/bin
з CATALINA_OPTS
, ви повинні використовувати:
export CATALINA_OPTS="$CATALINA_OPTS -Djava.net.preferIPv4Stack=true"
Тепер ви можете змінити порт на 80
як сказано в інших відповідях.
У сучасному Linux найкращим підходом (для мене) є використання xinetd:
1) створити /etc/xinet.d/tomcat-http
service http
{
disable = no
socket_type = stream
user = root
wait = no
redirect = 127.0.0.1 8080
}
2) створити /etc/xinet.d/tomcat-https
service https
{
disable = no
socket_type = stream
user = root
wait = no
redirect = 127.0.0.1 8443
}
3) chkconfig xinetd на
4) /etc/init.d/xinetd start
Якщо хтось шукає, як змінити номер порту tomcat у користувача Eclipse IDE, виконайте наступні дії.
1.У поданні Сервери двічі клацніть ім'я сервера:
2.Це відкриє сторінку конфігурації для Tomcat наступним чином:
3.Поміщення номерів портів наведено в таблиці праворуч. Натисніть для редагування, наприклад:
4.Це змінить номер порту для HTTP з 8080 на 80. Натисніть Ctrl + S, щоб зберегти зміни та перезапустити сервер. Ми можемо помітити зміну номера порту у вікні Консолі:
Весь цей вміст було взято знизу за посиланням, будь ласка, зверніться до цього посилання для подальшої інформації. http://www.codejava.net/servers/tomcat/how-to-change-port-numbers-for-tomcat-in-eclipse
Запуск команди нижче, з якою працював. Спробував змінити server.xml
і конф-файл, але обидва не працювали.
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
/sbin/iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
якщо ви використовуєте eclipse і модифікація server.xml не працює для вас, то спробуйте виконати наступну статтю . У них є кроки, щоб змінити порт, якщо ви використовуєте IDE, як eclipse.
Просто перейдіть до папки tomcat
відкрийте файл server.xml
Перейдіть на один із вузлів з'єднувачів, які мають вигляд наступного
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Просто змініть порт
зберегти та перезапустити tomcat
Ось такі кроки:
-> Дотримуйтесь контуру: {каталог tomcat> / conf -> Знайдіть цей рядок:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
змінити номер порту з "8080" на "80".
-> Збережіть файл.
-> Перезавантажте сервер :)