نصب Apache Tomcat 10 در CentOS 7/8 و راکی لینوکس 8
آپاچی تامکت یک سرولت منبع باز جاوا و کانتینر صفحه سرور جاوا است. توسعه دهندگان را قادر به ساخت و استقرار برنامه های کاربردی مبتنی بر جاوا پویا کرده است. سرولتهای جاوا برنامههای جاوا کوچکی هستند که نحوه رسیدگی سرور به درخواستها و پاسخها را تعریف میکنند. توسعهدهندگان سرولتها را مینویسند در حالی که تامکت تمام کارهای باطنی و مسیریابی را مدیریت میکند. Apache Tomcat که منبع باز است، توسط توسعه دهندگان در سراسر جهان ارائه می شود.
ویژگی های آپاچی تامکت 10
آپاچی تامکت 10 آخرین نسخه است و برنامه هایی که نسخه 9 و قبل از آن را اجرا می کنند برای اجرا در نسخه 10 نیاز به تغییر دارند. برخی از تغییرات ایجاد شده در نسخه 10 عبارتند از:
- حفاظت سربار HTTP/2 را مجدداً کار کنید تا احتمال مثبت کاذب کاهش یابد.
- به روز رسانی به کامپایلر Eclipse JDT 4.20.
- رفع رگرسیون در کامپایل JSP در نسخه قبلی
نصب Apache Tomcat 10 بر روی CentOS 8|7 و Rocky Linux 8
نصب آپاچی تامکت به چند مرحله نیاز دارد که در زیر توضیح داده شده است:
مرحله 1: به روز رسانی سیستم
مانند همیشه به روز رسانی بسته را روی سرور خود اجرا کنید تا مطمئن شوید که آخرین بسته ها را در حین نصب دارید
sudo dnf -y update
مرحله 2: نام میزبان و فایل میزبان را تنظیم کنید
نام میزبان سرور را تنظیم کنید و فایل میزبان را با دستورات زیر پیکربندی کنید
$ sudo hostnamectl set-hostname tomcat.example.com
$ sudo vim /etc/hosts
192.168.50.3 tomcat.example.com
سپس می توانید برای اعمال تغییرات بالا راه اندازی مجدد کنید
sudo reboot
مرحله 3: OpenJDK را روی CentOS / Rocky نصب کنید
ما باید محیط اجرای OpenJDK را به صورت زیر نصب کنیم. من قصد دارم نسخه 11 را نصب کنم اما شما می توانید نسخه 8 را نیز نصب کنید. برای توسعه دهندگان، آنها می توانند محیط توسعه را انتخاب کنند.
# OpenJDK 11
sudo dnf -y install java-11-openjdk java-11-openjdk-devel
# OpenJDK 8
sudo dnf install java-1.8.0-openjdk java-1.8.0-openjdk-devel
مرحله 4: یک کاربر غیر ریشه و یک دایرکتوری برای Tomcat ایجاد کنید
ما باید یک کاربر غیر ریشه ایجاد کنیم که فقط به Tomcat دسترسی داشته باشد و هیچ استفاده دیگری نداشته باشد. همچنین برای قرار دادن فایلهای Tomcat به یک دایرکتوری نیاز داریم.
# Add Tomcat group
sudo groupadd tomcat
# Create Tomcat directory
sudo mkdir /opt/tomcat
# Create tomcat user, disable login and give rights
sudo useradd -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
مرحله 5: Tomcat 10 را در CentOS 8|7 / Rocky Linux 8 دانلود کنید
اکنون برای دانلود آخرین نسخه Tomcat به سایت رسمی آپاچی تامکت مراجعه کنید . پس از وارد شدن به صفحه، روی فایل tar.gz کلیک راست کرده و آدرس لینک را کپی کنید.
از wget برای دانلود باینری های آپاچی تامکت مانند زیر استفاده کنید.
sudo dnf install wget
VER="10.0.22"
wget https://archive.apache.org/dist/tomcat/tomcat-10/v${VER}/bin/apache-tomcat-${VER}.tar.gz
فایل آرشیو شده را استخراج کنید و فایل های استخراج شده را در پوشه تامکتی که قبلا ایجاد شده بود کپی کنید
sudo mkdir -p /opt/tomcat
sudo tar -xvf apache-tomcat-${VER}.tar.gz -C /opt/tomcat --strip-components=1
مرحله 6: مجوزها را در فهرست های تامکت تنظیم کنید
ما باید به کاربر tomcat اجازه دهیم تا فایل های موجود در فهرست تامکت را بخواند. همچنین اسکریپت های موجود در دایرکتوری را فعال کنید تا قابل اجرا باشند.
sudo chown -R tomcat: /opt/tomcat
sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'
مرحله 7: فایل Apache Tomcat Systemd را ایجاد کنید
ما می توانیم یک فایل systemd برای راه اندازی و توقف آپاچی تامکت ایجاد کنیم. همچنین برای شروع خودکار تامکت در راه اندازی مجدد سیستم بسیار مفید است. ما باید محل نصب جاوا را به عنوان یک متغیر در فایل systemd ارسال کنیم. برای دریافت مسیر، دستور زیر را اجرا کنید:
$ sudo alternatives --list | grep ^java
java auto /usr/lib/jvm/java-11-openjdk-11.0.15.0.10-2.el8_6.x86_64/bin/java
javac auto /usr/lib/jvm/java-11-openjdk-11.0.15.0.10-2.el8_6.x86_64/bin/javac
java_sdk_openjdk auto /usr/lib/jvm/java-11-openjdk-11.0.15.0.10-2.el8_6.x86_64
java_sdk_11 auto /usr/lib/jvm/java-11-openjdk-11.0.15.0.10-2.el8_6.x86_64
java_sdk_11_openjdk auto /usr/lib/jvm/java-11-openjdk-11.0.15.0.10-2.el8_6.x86_64
برای ایجاد فایل سرویس apache tomcat اقدام کنید
sudo vim /etc/systemd/system/tomcat.service
مطالب زیر را جایگذاری کنید
[Unit]
Description=Apache Tomcat Web Application Container
Wants=network.target
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1G -Djava.net.preferIPv4Stack=true'
Environment='JAVA_OPTS=-Djava.awt.headless=true'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
SuccessExitStatus=143
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
مرحله 8: سرویس Tomcat را راه اندازی و فعال کنید
اکنون که یک فایل سرویس داریم، میتوانیم به راحتی آپاچی تامکت را راهاندازی و فعال کنیم تا به طور خودکار در هنگام راهاندازی مجدد سیستم شروع شود.
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
وضعیت تامکت را تأیید کنید که در حال اجرا است
systemctl status status tomcat
خروجی زیر نشان می دهد که در حال اجرا است

نصب Apache Tomcat 10 در CentOS 7/8 و راکی لینوکس 8
مرحله 9: مدیریت وب Tomcat را پیکربندی کنید
آپاچی تامکت را می توان به طور کامل از رابط وب مدیریت کرد. ما باید یک کاربر و رمز عبور برای دسترسی مدیریت خود به شرح زیر ایجاد کنیم:
sudo vim /opt/tomcat/conf/tomcat-users.xml
خطوط هایلایت شده را بین تگ <tomcat-users> اضافه کنید تا مانند شکل ظاهر شود:
<tomcat-users
...
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="must-be-changed" roles="tomcat"/>
<user username="both" password="must-be-changed" roles="tomcat,role1"/>
<user username="role1" password="must-be-changed" roles="role1"/>
-->
<role rolename="admin-gui"/>
<user username="admin" password="MyAdminPassword" roles="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="MyManagerPassword" roles="manager-gui"/>
</tomcat-users>
همچنین باید به Tomcat اجازه دهیم که از راه دور هم برای برنامه های مدیر و هم برای برنامه های مدیر میزبان در دسترس باشد. به طور پیش فرض، تامکت فقط به صورت محلی قابل دسترسی است.
برای ارتباط با مدیر:
sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
آدرس های IP راه دور را برای دسترسی به تامکت که با یک لوله جدا شده اند وارد کنید. در مورد من، 192.168.50.2 IP راه دور است.
...
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.50.2" />
...
</Context>
برای مدیر میزبان؛
sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
IP راه دور را اضافه کنید
...
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.50.2" />
...
</Context>
مرحله 10: به آپاچی تامکت اجازه دهید از فایروال عبور کند
اگر فایروال فعالی دارید، باید پورت Tomcat را روی فایروال باز کنید
sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
در این مرحله، Apache Tomcat را با موفقیت نصب کرده اید و می توانید از مرورگر با http://<your-server-ip>:8080 تست کنید . باید صفحه زیر را باز کنید

نصب Apache Tomcat 10 در CentOS 7/8 و راکی لینوکس 8
مرحله 11: Nginx را به عنوان Apache Tomcat Reverse Proxy پیکربندی کنید
در نصب خود، از وب سرور Nginx برای دسترسی به برنامه Apache Tomcat خود استفاده می کنیم.
Nginx را روی CentOS 8 نصب کنید | لینوکس راکی
ما با نصب nginx شروع می کنیم
sudo dnf install -y nginx
سپس Nginx را راه اندازی و فعال کنید
sudo systemctl start nginx
sudo systemctl enable nginx
میزبان مجازی Nginx برای Apache Tomcat ایجاد کنید
فایل پیکربندی میزبان مجازی را به صورت زیر ایجاد کنید:
sudo vim /etc/nginx/conf.d/tomcat.conf
مطالب زیر را اضافه کنید
server {
listen 80;
server_name tomcat.example.com;
root /opt/tomcat/webapps/;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/;
}
}
تست پیکربندی nginx
sudo nginx -t
nginx را مجددا راه اندازی کنید
sudo systemctl restart nginx
اکنون با استفاده از نام میزبان سرور به مرورگر خود و آپاچی تامکت بروید. برای مورد من، http://example.com

نصب Apache Tomcat 10 در CentOS 7/8 و راکی لینوکس 8
اگر روی « وضعیت سرور » یا « برنامه مدیر » کلیک کنید ، باید از شما نام کاربری و رمز عبور بخواهد تا بتوانید به آن دسترسی پیدا کنید.

نصب Apache Tomcat 10 در CentOS 7/8 و راکی لینوکس 8
نام کاربری و رمز عبور Admin یا Manager را که در tomcat-users.xml پیکربندی کردهاید وارد کنید و آماده استفاده از رابط وب Apache Tomcat هستید. خودشه. شما Apache Tomcat را با موفقیت در CentOS 8|7 و راکی لینوکس نصب کرده اید.