ติดตั้ง Apache Tomcat บน Ubuntu สำหรับ Java Web App
Back to articles

ติดตั้ง Apache Tomcat บน Ubuntu สำหรับ Java Web App

คู่มือติดตั้ง Apache Tomcat บน Ubuntu ตั้งค่า Systemd Service Deploy WAR Files พร้อมเคล็ดลับ Security และ Performance Tuning

Linux--Updated: May 10, 2026

Apache Tomcat เซิร์ฟเวอร์สำหรับ Java Web App ที่ใช้กันมากที่สุด

ถ้าเขียน Web Application ด้วย Java แล้วต้อง Deploy ขึ้นเซิร์ฟเวอร์ Apache Tomcat คือตัวเลือกยอดนิยมที่ใช้กันทั่วโลก เป็น Open-source Web Server และ Servlet Container จาก Apache Software Foundation รองรับ Java Servlet, JSP และ WebSocket ด้วยความเบาและตั้งค่าง่าย เหมาะกับทั้ง Development และ Production

ติดตั้ง Apache Tomcat
ติดตั้ง Apache Tomcat

Tomcat แตกต่างจาก Apache HTTP Server ตรงที่ออกแบบมาเพื่อรัน Java Application โดยเฉพาะ ไม่ใช่แค่ Serve Static Files ฟรี Open Source ไม่มีค่าลิขสิทธิ์ ใช้ Resource น้อย มี Community ใหญ่ และอัปเดตแก้ช่องโหว่ Security เร็ว

ขั้นตอนติดตั้ง Tomcat บน Ubuntu

ติดตั้ง Java ก่อน

Tomcat ต้องการ Java Runtime Environment (JRE) หรือ JDK

sudo apt update
sudo apt install default-jdk -y
java -version

เห็น Version ของ Java แสดงว่าติดตั้งสำเร็จ

สร้าง User สำหรับ Tomcat

เพื่อความปลอดภัย ไม่ควรรัน Tomcat ด้วย root สร้าง User แยก

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

ดาวน์โหลดและติดตั้ง

ดู Version ล่าสุดที่เว็บ Apache Tomcat แล้วดาวน์โหลด

cd /tmp
wget https://downloads.apache.org/tomcat/tomcat-10/v10.1.20/bin/apache-tomcat-10.1.20.tar.gz
sudo tar -xzf apache-tomcat-10.1.20.tar.gz -C /opt/tomcat --strip-components=1
sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod +x /opt/tomcat/bin/*.sh

สร้าง Systemd Service

สร้างไฟล์ /etc/systemd/system/tomcat.service ให้ Tomcat เริ่มทำงานอัตโนมัติเมื่อ Boot

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

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=JAVA_HOME=/usr/lib/jvm/default-java
Environment=CATALINA_HOME=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

เปิด Service

sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
sudo systemctl status tomcat

เห็น active (running) ก็โอเค เปิด Browser ไปที่ http://your-server-ip:8080 จะเห็นหน้าแรกของ Tomcat

ตั้งค่า Tomcat Manager

Tomcat มี Web-based Manager สำหรับ Deploy และจัดการ Application แก้ไข /opt/tomcat/conf/tomcat-users.xml เพิ่ม User

<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="your-strong-password" roles="manager-gui,admin-gui"/>

ถ้าเข้า Manager จากเครื่องอื่นไม่ได้ แก้ context.xml ใน /opt/tomcat/webapps/manager/META-INF/

Deploy WAR Files

ผ่าน Tomcat Manager

เข้า Manager ผ่าน Browser เลือก WAR File to Deploy อัปโหลด .war File ได้เลย

ผ่าน Command Line

วาง .war File ไว้ใน /opt/tomcat/webapps/ Tomcat จะ Auto-deploy

sudo cp myapp.war /opt/tomcat/webapps/
sudo chown tomcat:tomcat /opt/tomcat/webapps/myapp.war

เข้าถึงได้ที่ http://your-server-ip:8080/myapp

เคล็ดลับ Security

ซ่อน Version Information

แก้ server.xml เพิ่ม Attribute server ใน Connector

ลบ Default Applications

ลบ Examples และ Docs ใน Production เพราะอาจเป็นช่องโหว่

sudo rm -rf /opt/tomcat/webapps/examples
sudo rm -rf /opt/tomcat/webapps/docs

ใช้ HTTPS

Setup Reverse Proxy ด้วย Nginx หรือ Apache HTTP Server ข้างหน้า Tomcat ใช้ SSL Certificate จาก Let's Encrypt

จำกัด Access

ตั้ง Firewall เปิดเฉพาะ Port ที่จำเป็น ใช้ RemoteAddrValve จำกัด IP ที่เข้าถึง Manager เปลี่ยน Default Password ทุกตัว

Performance Tuning

ปรับค่า JVM ในไฟล์ /opt/tomcat/bin/setenv.sh

export CATALINA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC"

ปรับ Xms และ Xmx ตาม RAM ของเครื่อง

คำถามที่พบบ่อย (FAQ)

Tomcat กับ WildFly ต่างกันอย่างไร?

Tomcat เป็น Servlet Container เหมาะกับ Servlet และ JSP ส่วน WildFly เป็น Full Java EE Application Server รองรับ EJB, JMS และ Feature อื่น ๆ ครบ ถ้าไม่ต้องการ Full Java EE Tomcat เบากว่าและง่ายกว่ามาก

Tomcat ใช้ RAM เท่าไหร่?

ขึ้นอยู่กับ Application เริ่มต้นใช้ประมาณ 256-512 MB Application ขนาดใหญ่อาจต้องการ 1-2 GB ขึ้นไป

Tomcat รองรับ HTTP/2 ไหม?

รองรับตั้งแต่ Tomcat 9 ขึ้นไป ต้องเปิดใช้ SSL/TLS ก่อนถึงจะใช้ HTTP/2 ได้

สรุป

Apache Tomcat เหมาะกับการ Host Java Web Application ทุกขนาด ตั้งค่า Security ดี ปรับ Performance เหมาะสม ก็รองรับ Traffic จำนวนมากได้ สำหรับใครที่มองหาเซิร์ฟเวอร์ Host Java Application VPS ของ DriteStudio รองรับ Java Environment ได้ดี มี RAM และ CPU เพียงพอ พร้อม Root Access ตั้งค่าได้ตามใจ หรือHosting จาก DriteStudio ก็มีแพลนสำหรับ Production ติดต่อทีมงานได้เลย

Share article:
View more articles
D

DriteStudio | ไดรท์สตูดิโอ

Digital infrastructure provider for VPS, web hosting, and colocation in Thailand

Operated by Craft Intertech (Thailand) Co., Ltd.