ฉันต้องการที่จะดำเนินการ app http://localhost
เว็บของฉันเป็น
ฉันต้องการที่จะดำเนินการ app http://localhost
เว็บของฉันเป็น
คำตอบ:
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 และเปลี่ยนพอร์ต = "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"
ติดตั้งแพคเกจ authbind แนะนำ (ไม่จำเป็น) ด้วยคำสั่งเช่น:
sudo apt-get install authbind
เปิดใช้งาน 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-เฟาสต์กล่าวว่าในความคิดเห็นที่เกี่ยวกับ 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 เริ่มต้น
หากใครบางคนกำลังมองหาวิธีการเปลี่ยนหมายเลขพอร์ต 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
และไฟล์ conf แต่ทั้งคู่ใช้งานไม่ได้
/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
บนเซิร์ฟเวอร์ linux คุณสามารถใช้คำสั่งนี้เพื่อกำหนดค่า Tomcat ใหม่เพื่อฟังบนพอร์ต 80:
sed -i 's|port="8080"|port="80"|g' /etc/tomcat?/server.xml
sed -i 's|#AUTHBIND=no|AUTHBIND=yes|g' /etc/default/tomcat?
service tomcat8 restart
แค่ข้ามโฟลเดอร์ conf ของ 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"
-> บันทึกไฟล์
-> รีสตาร์ทเซิร์ฟเวอร์ :)
อย่าลืมแก้ไขไฟล์ เปิดไฟล์/etc/default/tomcat7
และเปลี่ยนแปลง
#AUTHBIND=no
ถึง
AUTHBIND=yes
จากนั้นรีสตาร์ท