Android

วิธีการติดตั้ง tomcat 8.5 บน centos 7

Apache Tomcat 8 on CentOS 7

Apache Tomcat 8 on CentOS 7

สารบัญ:

Anonim

บทช่วยสอนนี้แสดงวิธีการติดตั้ง Tomcat 8.5 บน CentOS 7 Tomcat เป็นการใช้งานแบบโอเพ่นซอร์สของ Java Servlet, หน้า JavaServer, ภาษา Java Expression และ Java WebSocket

ข้อกำหนดเบื้องต้น

ก่อนเริ่มต้นด้วยบทช่วยสอนนี้ตรวจสอบให้แน่ใจว่าคุณได้ลงชื่อเข้าใช้เซิร์ฟเวอร์ด้วยบัญชีผู้ใช้ที่มีสิทธิ์ sudo หรือกับผู้ใช้รูท เป็นแนวปฏิบัติที่เหมาะสมที่สุดในการรันคำสั่งการควบคุมดูแลในฐานะผู้ใช้ sudo แทนที่จะเป็นรูท หากคุณไม่มีผู้ใช้ sudo ในระบบของคุณให้สร้างขึ้นมาโดยทำตามคำแนะนำเหล่านี้

ติดตั้ง OpenJDK

Tomcat 8.5 ต้องใช้ Java SE 7 หรือใหม่กว่า ในบทช่วยสอนนี้เราจะติดตั้ง OpenJDK 8 การใช้งานโอเพ่นซอร์สของแพลตฟอร์ม Java ซึ่งเป็นการพัฒนาจาวาเริ่มต้นและรันไทม์ใน CentOS 7

การติดตั้งง่ายและตรงไปตรงมา:

sudo yum install java-1.8.0-openjdk-devel

สร้างผู้ใช้ระบบ Tomcat

การใช้ Tomcat ในฐานะผู้ใช้รูทนั้นมีความเสี่ยงด้านความปลอดภัยและไม่แนะนำ แต่เราจะสร้างผู้ใช้และกลุ่มระบบใหม่ด้วยโฮมไดเร็กตอรี่ /opt/tomcat ที่จะเรียกใช้บริการ Tomcat:

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

ดาวน์โหลด Tomcat

เราจะดาวน์โหลด Tomcat เวอร์ชั่น 8.5.x ล่าสุดจากหน้าดาวน์โหลด Tomcat ในขณะที่เขียนเวอร์ชันล่าสุดคือ 8.5.37 ก่อนดำเนินการขั้นตอนถัดไปคุณควรตรวจสอบหน้าดาวน์โหลดสำหรับเวอร์ชันใหม่ใด ๆ

เปลี่ยนเป็นไดเร็กทอรี /tmp และใช้ wget เพื่อดาวน์โหลดไฟล์ zip:

cd /tmp wget

เมื่อการดาวน์โหลดเสร็จสิ้นให้แตกไฟล์ zip แล้วย้ายไปยังไดเร็กทอรี /opt/tomcat :

unzip apache-tomcat-*.zip sudo mkdir -p /opt/tomcat sudo mv apache-tomcat-8.5.37 /opt/tomcat/

Tomcat 8.5 อัพเดทบ่อยครั้ง หากต้องการควบคุมเวอร์ชันและอัปเดตเพิ่มเติมเราจะสร้างลิงก์สัญลักษณ์ latest ซึ่งจะชี้ไปที่ไดเรกทอรีการติดตั้ง Tomcat:

sudo ln -s /opt/tomcat/apache-tomcat-8.5.37 /opt/tomcat/latest

ผู้ใช้ Tomcat ที่เราตั้งค่าไว้ก่อนหน้านี้จำเป็นต้องมีการเข้าถึงไดเรกทอรี Tomcat เปลี่ยนความเป็นเจ้าของไดเรกทอรีเป็นผู้ใช้และกลุ่ม tomcat:

sudo chown -R tomcat: /opt/tomcat

จัดทำสคริปต์ภายในไดเร็กทอรี bin เรียกทำงานได้โดยออกคำสั่ง chmod ต่อไปนี้::

sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'

สร้างไฟล์หน่วย systemd

หากต้องการรัน Tomcat เป็นบริการให้สร้างไฟล์หน่วย tomcat.service ในไดเร็กทอรี /etc/systemd/system/ ด้วยเนื้อหาดังต่อไปนี้:

/etc/systemd/system/tomcat.service

Description=Tomcat 8.5 servlet container After=network.target Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/jre" Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom" Environment="CATALINA_BASE=/opt/tomcat/latest" Environment="CATALINA_HOME=/opt/tomcat/latest" Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/latest/bin/startup.sh ExecStop=/opt/tomcat/latest/bin/shutdown.sh WantedBy=multi-user.target

แจ้ง systemd ที่เราสร้างไฟล์หน่วยใหม่และเริ่มบริการ Tomcat โดยดำเนินการ:

sudo systemctl daemon-reload sudo systemctl start tomcat

ตรวจสอบสถานะบริการด้วยคำสั่งต่อไปนี้:

sudo systemctl status tomcat

tomcat.service - Tomcat 8.5 servlet container Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2018-03-31 16:30:48 UTC; 3s ago Process: 23826 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 23833 (java) CGroup: /system.slice/tomcat.service └─23833 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/opt/tomcat/latest/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.security.egd=fi…

หากไม่มีข้อผิดพลาดคุณสามารถเปิดใช้งานบริการ Tomcat โดยอัตโนมัติเมื่อเริ่มต้นระบบ:

sudo systemctl enable tomcat

ปรับไฟร์วอลล์

หากเซิร์ฟเวอร์ของคุณได้รับการป้องกันด้วยไฟร์วอลล์และคุณต้องการเข้าถึงอินเตอร์เฟส Tomcat จากภายนอกเครือข่ายท้องถิ่นให้เปิดพอร์ต 8080

ใช้คำสั่งต่อไปนี้เพื่อเปิดพอร์ตที่จำเป็น:

sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp sudo firewall-cmd --reload ในกรณีส่วนใหญ่เมื่อรัน Tomcat ในสภาพแวดล้อมการใช้งานจริงคุณจะใช้ load balancer หรือ reverse proxy แนวทางปฏิบัติที่ดีที่สุดเพื่ออนุญาตการเข้าถึงพอร์ต 8080 เฉพาะเครือข่ายภายในของคุณ

กำหนดค่า Tomcat Web Management Interface

ณ จุดนี้ Tomcat ได้รับการติดตั้งแล้วและเราสามารถเข้าถึงได้ด้วยเว็บเบราว์เซอร์ที่พอร์ต 8080 แต่เราไม่สามารถเข้าถึงอินเตอร์เฟสการจัดการเว็บได้เนื่องจากเรายังไม่ได้สร้างผู้ใช้

ผู้ใช้ Tomcat และบทบาทของพวกเขาถูกกำหนดในไฟล์ tomcat-users.xml

sudo nano /opt/tomcat/latest/conf/tomcat-users.xml

ในการเพิ่มผู้ใช้ใหม่ที่จะสามารถเข้าถึงเว็บอินเตอร์เฟส tomcat (manager-gui และ admin-gui) เราจำเป็นต้องกำหนดผู้ใช้ในไฟล์ tomcat-users.xml ดังที่แสดงด้านล่าง ตรวจสอบให้แน่ใจว่าคุณเปลี่ยนชื่อผู้ใช้และรหัสผ่านเป็นสิ่งที่ปลอดภัยยิ่งขึ้น:

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

โดยค่าเริ่มต้นส่วนต่อประสานการจัดการเว็บ Tomcat ถูกกำหนดค่าให้อนุญาตการเข้าถึงจาก localhost เท่านั้น หากคุณต้องการเข้าถึงเว็บอินเตอร์เฟสจาก IP ระยะไกลหรือจากที่ใดก็ตามที่ไม่แนะนำเนื่องจากเป็นความเสี่ยงด้านความปลอดภัยคุณสามารถเปิดไฟล์ต่อไปนี้และทำการเปลี่ยนแปลงต่อไปนี้

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

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

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

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

รายการที่อยู่ IP ที่อนุญาตคือรายการที่คั่นด้วยแถบแนวตั้ง | . คุณสามารถเพิ่มที่อยู่ IP เดียวหรือใช้นิพจน์ปกติ

เริ่มบริการ Tomcat ใหม่เพื่อให้การเปลี่ยนแปลงมีผล:

sudo systemctl restart tomcat

ทดสอบการติดตั้ง

เปิดเบราว์เซอร์ของคุณและพิมพ์: http://:8080 http://:8080

เมื่อติดตั้งสำเร็จหน้าจอที่คล้ายกับข้อความต่อไปนี้จะปรากฏขึ้น:

ข้อสรุป

คุณติดตั้ง Tomcat 8.5 สำเร็จแล้วบนระบบ CentOS 7 ของคุณและเรียนรู้วิธีเข้าถึงอินเตอร์เฟสการจัดการ Tomcat ตอนนี้คุณสามารถเยี่ยมชม Apache Tomcat 8 Documentation อย่างเป็นทางการและเรียนรู้เพิ่มเติมเกี่ยวกับคุณสมบัติ Apache Tomcat

java tomcat centos