آیدین فتحی

8

بهمن
روش نصب و تنظیمات وب سایت های تحت زبان جاوا بروی وب سرور تامکت در محیط لینوکس اوبونتو 16.10 تامکت یکی از محبوب ترین وب سرور های جاوا است ، در این مقاله تامکت ورژن 9 و جاوای 8 به همراه اتو بایند تنظیم میشود .

تنظیمات نصب وب سایت های جاوایی بروی تامکت

ابتدا بوسیله SSH وارد وی پی اس لینوکسی اوبونتو خریداری شده می شویم.

بطور معمول جاوا کارها فولدر opt را برای نصب جاوا و تامکت انتخاب می کنند.

cd /opt

در اولین گام باید JDK مورد نظر را دانلود و نصب کنید ، من در این وب سایت از LTS JDK 8 بهینه سازی شده آمازون مخصوص لینوکس 64 بیتی استفاده میکنم:

 wget https://d3pxv6yz143wms.cloudfront.net/8.212.04.2/java-1.8.0-amazon-corretto-jdk_8.212.04-2_amd64.deb

اکنون بسته های کمکی و خود این بسته را نصب کنید:

sudo apt-get update && sudo apt-get install java-common
sudo dpkg --install java-1.8.0-amazon-corretto-jdk_8.212.04-2_amd64.deb
java -version 

تنظیمات ویژه جاوا اگر جاوای دیگری در سیستم باشد:

sudo update-alternatives --config java
sudo update-alternatives --config javac

نصب تامکت 1.9:

wget https://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.21/bin/apache-tomcat-9.0.21.tar.gz
sudo tar xvf apache-tomcat-9.0.21.tar.gz
cp -R apache-tomcat-9.0.21 tomcat 
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
sudo chown -RH tomcat: /opt/tomcat/

 

تنظیمات سرویس تامکت:

sudo vim /etc/systemd/system/tomcat.service

این اطلاعات را در این فایل کپی کنید:

[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Environment='CATALINA_OPTS=-Xms1536m -Xmx1536m -XX:MaxPermSize=256m -Xss228k -XX:+UseParallelGC -XX:MaxGCPauseMillis=1500 -XX:GCTimeRatio=9 -server -XX:+DisableExplicitGC'
Environment='JAVA_OPTS=-Dfile.encoding=UTF-8'


User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

دادن دسترسی روت اصلا کار خوبی نیست ، اگه گروه و یوزر تامکت رو ندارین یادتون نره اضافه کنین:

sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

اضافه کردن سرویس به لینوکس:

sudo systemctl daemon-reload
sudo systemctl enable tomcat
sudo systemctl status tomcat
sudo ufw allow 8080/tcp
cd /opt/tomcat
sudo chgrp -R tomcat /opt/tomcat
sudo chown -R tomcat webapps/ work/ temp/ logs/

برای تغییر پورت از 8080 راه های مختلفی وجود دارد ، بهترین راه استفاده از آپاچی برای پروکسی است، راه دیگر استفاده از Autobind است

ابتدا در پوشه   opt/tomcat/conf/server.xml در تگ connector پورت 8080 را به 80 تغییر دهید :

sudo vim /opt/tomcat/conf/server.xml
sudo apt-get install authbind

یوزری با اسم تامکت اضافه کردیم وچون یوزر ما روت نیست (ذاتا نمی خواهیم که روت باشه) و پورت 80 مال روته باید یه جوری پورت رو فروارد کنین !

Autobind یه پکیج مخصوص بایند پورتها به همدیگر هستش.

در صورتی که از Autobind استفاده کنیم باید راه اندازی سرویس از tomcat.service را بصورت فوق تغییر بدیم:

sudo touch /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80
sudo chown tomcat /etc/authbind/byport/80

# change this line
ExecStart=/usr/bin/authbind --deep /bin/bash -c /opt/tomcat/bin/startup.sh

راه دیگر استفاده از IPTABLE برای سویچ پورت است (ولی یه ذره سرعتش پایینه):

sudo apt-get install iptables-persistent
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j REDIRECT --to-port 80

راه دیگه پروکسی آپاچ هست اونم سرعتش پایینه ولی می تونین تو یه سرور چند تا سایت رو بالا بیارین برای اینکار باید سرور مجازی درست کنین پروکس کنین تو تامکت با پورت جدا برای هر سایت.

راه دیگه هم استفاده از ورکر AJP هست که هم سرعت بالا داره و هم می تونین ریسورها رو بدین دست آپاچ تا براتون رندر کنه تا مموری جاوا بیاد پایین .

ولی چون این دو روش طولانیه اینجا نمی نویسم تا مختون خط خطی نشه!

 

پایش پورتها:

netstat -tulpn | grep :80

استاپ و استارت  سرویس تامکت:

sudo systemctl stop tomcat
sudo systemctl start tomcat

منبع: -

نظر شما ارسال گردید بعد از تائید مدیریت نمایش شد

اولین نفری باشید که نظر ارسال می کنید