Dağıtım seçenekleri
Otomatik dağıtım (Terraform): Bir ECS örneği, genel IP adresi ve gerekli güvenlik grubu kuralları dahil olmak üzere eksiksiz bir ortamı otomatik olarak oluşturmak için Terraform kullanın. Run Now seçeneğine tıklayın.
Manuel dağıtım: Mevcut bir ECS örneğiniz varsa veya dağıtım sürecini kendiniz kontrol etmek istiyorsanız aşağıdaki adımları izleyin.
Ön koşullar
Genel ağ erişimini etkinleştirme: Örneğe sabit bir genel IP adresi veya Elastik IP (EIP) atayın.
-
Güvenlik grubu kuralları ekleme:
Linux için: TCP üzerinden 22 (SSH) ve 8080 (Tomcat) bağlantı noktalarına gelen trafiğe izin verin.
Windows için: TCP üzerinden 3389 (RDP) ve 8080 (Tomcat) bağlantı noktalarına gelen trafiğe izin verin.
OpenJDK'yi manuel olarak dağıtma: Sunucuya Java Development Kit (JDK) yükleyin.
Yordam
Linux
Adım 1: Tomcat'i indirip yükleme
-
Bir ECS örneğinde oturum açın.
ECS konsolu - Örnekler sayfasına gidin. Sol üst köşeden hedef örnek için bölgeyi ve kaynak grubunu seçin.
Hedef örneğin ayrıntılar sayfasına gidin. Connect seçeneğine tıklayın ve Workbench öğesini seçin. Terminal erişimi sağlamak için ekrandaki talimatları izleyin.
-
Tomcat kurulum paketini indirin ve çıkarın.
Bu örnekte Tomcat v9.0.91 kullanılmaktadır. Farklı bir sürüm yüklemek için resmi Tomcat web sitesinden indirme URL'sini alın ve komuttaki URL'yi bununla değiştirin.
# Download the Tomcat installation package sudo wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.91/bin/apache-tomcat-9.0.91.tar.gz --no-check-certificate # Extract the package to the /usr/local/ directory sudo tar -zxvf apache-tomcat-9.0.91.tar.gz -C /usr/local/ -
Sembolik bir bağlantı oluşturun.
Bu yaklaşım, hizmet yapılandırma dosyasını değiştirmeden yalnızca sembolik bağlantıyı güncelleyerek Tomcat'i yükseltmenize olanak tanır.
sudo ln -s /usr/local/apache-tomcat-9.0.91 /usr/local/tomcat
Adım 2: Tomcat hizmetini yapılandırma
Otomatik başlatmayı etkinleştirmek için Tomcat'i systemd hizmeti olarak yapılandırın.
-
JDK yolunu bulun.
sudo readlink -f $(which java)JDK 8 için: Doğru JDK yolu,
jredizininin üst dizinidir.JDK 11 veya sonraki sürümler için: Döndürülen yol doğru JDK yoludur.
-
tomcat.servicehizmet dosyasını oluşturun.sudo tee /etc/systemd/system/tomcat.service > /dev/null <<'EOF'
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=JDK_PATH"
Environment="CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid"
Environment="CATALINA_HOME=/usr/local/tomcat"
Environment="CATALINA_BASE=/usr/local/tomcat"
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
JDK_PATHdeğerini önceki adımda elde ettiğiniz JDK yolu ile değiştirin. -
Tomcat hizmetini başlatın ve önyüklemede otomatik olarak başlaması için etkinleştirin.
# Reload the systemd configuration for the new service file to take effect sudo systemctl daemon-reload # Start the Tomcat service sudo systemctl start tomcat # Enable the Tomcat service to start on boot sudo systemctl enable tomcat
Adım 3: Dağıtımı doğrulama
-
Hizmet durumunu kontrol edin.
sudo systemctl status tomcatactive (running)döndürülürse Tomcat başarıyla başlatılmıştır. -
Erişimi doğrulayın.
Yerel tarayıcınızın adres çubuğuna
http://<ECS instance public IP address>:8080girin. Tomcat karşılama sayfası görüntülenirse Java web ortamı başarıyla dağıtılmıştır.
Windows
Bu örnekte, 64 bitlik bir Windows Server 2022 örneğinde Tomcat 9.0.121'in nasıl dağıtılacağı gösterilmektedir.
Adım 1: Tomcat'i yükleme ve yapılandırma
-
Bir ECS örneğinde oturum açın.
ECS konsolu - Örnekler sayfasına gidin. Sol üst köşeden hedef örnek için bölgeyi ve kaynak grubunu seçin.
Hedef örneğin ayrıntılar sayfasına gidin. Connect seçeneğine tıklayın ve Workbench öğesini seçin. Bağlantı yöntemini Terminal Connection olarak ayarlayın, kullanıcı adınızı ve parolanızı girin ve grafik terminalde oturum açın.
-
Tomcat 9.0.121'i indirin ve paketi çıkarın.
PowerShell'i başlatıp aşağıdaki komutu çalıştırarak Alibaba Cloud Açık Kaynak Yansı deposundan Tomcat 9.0.121 sürümünü alabilirsiniz.
# 1. Modify the paths below as needed $Url = "https://mirrors.aliyun.com/apache/tomcat/tomcat-9/v9.0.121/bin/apache-tomcat-9.0.121-windows-x64.zip" $Zip = "C:\Downloads\tomcat.zip" # Download Path $Dest = "C:\Applications\tomcat" # Extract Directory # 2. Download and extract the package Invoke-WebRequest $Url -OutFile $Zip Expand-Archive $Zip -DestinationPath $Dest -ForcePotansiyel yol tanıma sorunlarını önlemek için sıkıştırılmış paketi Çince karakter içermeyen bir yola, örneğin
C:\Java\apache-tomcat-9.0.97, çıkartmanızı öneririz.Farklı bir sürüme ihtiyacınız varsa resmi Tomcat web sitesini ziyaret edin, ihtiyacınız olan sürümü seçin ve ardından kurulum paketini indirip çıkarın.
-
Ortam değişkenlerini yapılandırın.
This PC öğesine sağ tıklayın ve menü zincirini izleyin.
System variables alanında New Resources seçeneğine tıklayın,
CATALINA_HOMEsistem değişkenini oluşturun, değişken değerini Tomcat kurulum yoluna ayarlayın ve OK seçeneğine tıklayın.System Variables bölümünde
Pathdeğişkenini bulun, seçin ve Modify seçeneğine tıklayın.Edit environment variable penceresinde New Resources seçeneğine tıklayın,
%CATALINA_HOME%\binekleyin ve yapılandırmayı kaydetmek için OK seçeneğine tıklayın.
Adım 2: Tomcat hizmetini yükleme ve başlatma
Tomcat'i geçici olarak çalıştırmak için startup.bat kullanmak yerine bir Windows hizmeti olarak yüklemek, Tomcat'in arka planda kararlı bir şekilde çalışmasını ve otomatik olarak başlamasını sağlar.
-
Hizmeti yükleyin.
Komut İstemcisini yönetici olarak açın, Tomcat
bindizinine geçin ve yükleme komutunu çalıştırın.service.bat install Tomcat9The service 'Tomcat9' has been installed.mesajı döndürülürse yükleme başarılı olmuştur.Tomcat9, hizmeti yönetirken kullanılacak özel bir hizmet adıdır. -
Hizmeti başlatın ve otomatik olarak başlayacak şekilde ayarlayın.
simgesine sağ tıklayın, ardından Run seçeneğine tıklayın, services.mscgirin ve Hizmetler Yöneticisi'ni açmak için Enter tuşuna basın.Apache Tomcat 9.0 Tomcat9hizmetini bulun, hizmete sağ tıklayın, Type seçeneğini seçin, Startup Type ayarını Automatic olarak belirleyin ve ardından Start seçeneğine tıklayın.
Günlüklerde bozuk Çince karakterler görürseniz Tomcat günlüklerinde bozuk Çince karakterlerin görüntülenmesi konusuna bakın.
Adım 3: Dağıtımı doğrulama
Tarayıcınızın adres çubuğuna http://<ECS instance public IP address>:8080 girin. Tomcat karşılama sayfası görüntülenirse Java web ortamı başarıyla dağıtılmıştır.
Sonraki adımlar
Web projesi yükleme
Bir web uygulamasını (.war dosyası) Tomcat web sitesi kök dizinine (varsayılan olarak webapps) yüklemek için Workbench kullanarak dosya yükleme veya indirme konusundaki talimatları izleyin. Tomcat WAR dosyasını otomatik olarak algılar ve dağıtır.
Dağıtımdan sonra uygulamaya http://<public IP address>:8080/<project name> adresinden erişebilirsiniz.
Tomcat'i yapılandırma
Yapılandırma dosyasını değiştirme
Tomcat kurulum dizinindeki
confklasörüne gidin veserver.xmldosyasını açın.-
Tomcat yapılandırmasını değiştirin.
-
Tomcat varsayılan olarak
8080bağlantı noktasını kullanır. Bu değeriportözniteliğinin değerini değiştirerek değiştirebilirsiniz.Bağlantı noktasını değiştirdikten sonra yeni bağlantı noktasındaki gelen trafiğe izin vermek için bir güvenlik grubu kuralı eklemeniz gerekir.
<!-- A "Connector" represents an endpoint by which request and responses are returned. Documentation at : Java HTTP Connector: /docs/config/http.html Java AJP Connector: /docs/config/ajp.html APR (HTTP/AJP) Connector: /docs/apr.html Define a non-SSL/TLS HTTP/1.1 Connector on port 8080 --> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxParameterCount="1000" /> -
Tomcat için varsayılan web sitesi kök dizini
webapps'tir. Web sitesi kök dizinini değiştirmek içinappBaseözniteliğinin değerini değiştirebilirsiniz.Aşağıdaki server.xml içindeki <Host> yapılandırmasında,
appBase="webapps"özniteliği uygulama dağıtım dizinini belirtir:</Realm> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> -->
-
Tomcat için JVM bellek parametrelerini ayarlama
Linux
-
Bir
setenv.shdosyası oluşturun. JVM parametrelerini merkezi olarak yönetmek içinsetenv.shdosyasını kullanabilirsiniz.ECS örnek teknik özelliklerinize ve uygulama yükünüze göre başlangıç ve maksimum JVM yığın boyutlarını ayarlayın.
sudo tee /usr/local/tomcat/bin/setenv.sh > /dev/null <<'EOF' #!/bin/bash # Example: For an ECS instance with 2 GB of memory, allocate 512 MB JAVA_OPTS="-server -Xms512m -Xmx512m" export JAVA_OPTS EOF -
Dosyaya yürütme izinleri ekleyin.
sudo chmod +x /usr/local/tomcat/bin/setenv.sh Yapılandırmanın etkili olması için Tomcat'i yeniden başlatın.
Windows
Tomcat kurulum dizinindeki
binklasörüne gidin vecatalina.batdosyasını açın.-
JVM parametrelerini ekleyin veya değiştirin.
Dosyanın başlangıcına yakın bir yerde (genellikle
setlocalsonrasında vecall "%CATALINA_HOME%\bin\setenv.bat"öncesinde)JAVA_OPTSöğesini ekleyin veya değiştirin. ECS örnek teknik özelliklerine ve uygulama yüküne göre başlangıç ve maksimum JVM yığın belleğini ayarlayın.# Example: For an ECS instance with 2 GB of memory, allocate 512 MB set "JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx512m"JAVA_OPTSzaten varsa parametreleri buna ekleyin (parametreler arasında boşluk bırakılması gerektiğini unutmayın). Yapılandırmanın etkili olması için Tomcat'i yeniden başlatın.
Üretim ortamı önerileri
Üretim ortamları için güvenlik risklerini azaltmak amacıyla dağıtımdan sonra aşağıdaki adımları uygulayın.
-
Varsayılan uygulamaları silin
Potansiyel saldırı yüzeyini azaltmak için
webappsdizini altındakidocs,examples,managervehost-managergibi tüm varsayılan örnek uygulamaları silmenizi öneririz.Linux:
sudo rm -rf /usr/local/tomcat/webapps/*Windows: Dosya Gezgini'ni kullanarak
CATALINA_HOME\webappsdizinindeki tüm alt dizinleri manuel olarak silin.
-
HTTPS'yi yapılandırın
Üretim ortamında HTTPS kullanın. Tomcat sunucusuna SSL sertifikası yükleme (Linux) işlemini uygulayın ve HTTPS isteklerini işlemek için Nginx veya Server Load Balancer (SLB) öğesini ters proxy olarak kullanın.
SSS
Tarayıcı zaman aşımına uğruyor veya ulaşılamıyor
Güvenlik grubunu kontrol edin: ECS örneğinin güvenlik grubundaki gelen kuralların
8080bağlantı noktasına izin verip vermediğini kontrol edin.İşletim sistemi güvenlik duvarını kontrol edin: İşletim sistemi güvenlik duvarının (örneğin
firewalldveyaWindows Defender Firewall) devre dışı olup olmadığını veya8080bağlantı noktasındaki trafiğe izin verecek şekilde yapılandırılıp yapılandırılmadığını kontrol edin.-
Bağlantı noktası dinleyicisini kontrol edin: Tomcat'in 8080 bağlantı noktasını dinlediğini doğrulayın.
Linux:
ss -lntp | grep 8080Windows:
netstat -ano | findstr ":8080"
Tomcat başlatılamıyor
Günlükleri kontrol edin: Ana Tomcat günlükleri kurulum dizinindeki
logsklasöründe bulunur.catalina.out(Linux) veyacatalina.<date>.log(Windows) velocalhost.<date>.logdosyalarını kontrol edin. GünlüklerdeAddress already in usehatası varsa bu, bağlantı noktasının başka bir program tarafından kullanıldığı anlamına gelir. Daha fazla bilgi için Ping atılabilen bir ECS örneğinde bağlantı noktası erişilemezliğini giderme konusuna bakın.JDK yolu hatası:
JAVA_HOMEortam değişkeninin doğru yapılandırılıp yapılandırılmadığını kontrol edin.
Tomcat günlüklerinde bozuk Çince karakterlerin görüntülenmesi
Bu sorun genellikle Windows Komut İstemi'nin (CMD) varsayılan kodlaması (GBK) ile Tomcat'in günlük çıktısının kodlaması (genellikle UTF-8) arasındaki uyumsuzluktan kaynaklanır.
Tomcat kurulum dizinindeki
confklasörünü açın velogging.propertiesdosyasını bulup düzenleyin.Dosyadaki tüm varsayılan
UTF-8kodlamalarınıGBKolarak değiştirin.Dosyayı kaydedin ve Tomcat'i yeniden başlatın. Günlüklerdeki Çince karakterlerin doğru görüntülendiğini doğrulayın.