Tomcat 7'de bir savaş dosyası nasıl dağıtılır


346

sample.warDosyayı webappsTomcat dizinine kopyaladım ve erişebiliyorum localhost:8080.

Şimdi Tomcat nasıl dağıtacak, yani tarayıcıda açmam gerekiyor mu? Uygulamaya nasıl erişebilirim?

Yanıtlar:


325

Başvurunuza şu adresten erişebilirsiniz: http://localhost:8080/sample

Savaş dosyalarının dağıtımı veya yeniden dağıtımı varsayılan olarak otomatiktir - dosyayı kopyaladıktan / üzerine yazdıktan sonra sample.war, webappsklasörünüzde ayıklanan bir klasör olup olmadığını kontrol edin sample.

Düzgün açılmazsa, dağıtım sorunlarıyla ilgili günlük dosyalarını (örn. Tomcat / logs / catalina.out) kontrol edin.


7
SAVAŞ "ROOT.war" olarak adlandırılırsa ne olur? Bu savaşı nerede bulabilirim?
Kevin Meredith

5
Sample.war'ımı localhost: 8080 / somethingdifferent'e dağıtmak istersem ne olur?
Koray Tugay

15
bunu META-INF / context.xml'de belirtebilirsiniz
Bozho

5
META-INF / context.xml, tomcat \ conf \ context.xml dosyasındaki dosya mı? Yoksa benim uyguladığım uygulamada mı olmalı?
Koray Tugay

2
her iki yerde de olabilir. Ben uygulama içinde olmasını tercih ediyorum
Bozho

89

Aşama 1. burada pos.war konuşlandırıyorum Önce tomcat webapps klasörüne gidin ve yapıştırın

resim açıklamasını buraya girin

Adım 2. tomcat-> bin klasörüne gidin startup.bat öğesini tıklayarak tomcat'i başlatın

Aşama 3. tarayıcıya git localhost: port / proje adı örn. localhost: 8080 / pos (burada tomcat'ım 8080 bağlantı noktasında koşuyor)

Bitti ....

resim açıklamasını buraya girin


Teşekkür ederim! Ayrıca, yeni yüklenen Tomcat dizin yapısına izinlerimi ayarlamam gerekiyordu, böylece WAR'ım çıkartılabiliyor ve günlük dosyaları oluşturulabiliyordu.
Anthony De Souza

59

Savaş dosyanızı webapps'e koyup sunucunuzu başlatmanız yeterlidir.

konuşlandırılacaktır.

aksi takdirde, savaşınızı uzaktan yüklemek ve dağıtmak için tomcat yöneticisini bir webfront da kullanabilirsiniz.


1
Maalesef çalışmıyor! Belirli savaş dosyamı test etmek ister misiniz ?! Lütfen indirme "dan "linshare-çekirdek-1.8.4-SSO.war olmadan" forge.linshare.org/projects/linshare/files "
Dr.jacky

@ Mr.H savaşı yerleştirdikten sonra sunucuyu başlattığınızda günlüğü kuyruğa alıp, neden çalışmadığını göreceksiniz
Jigar Joshi

1
"Host autoDeploy özniteliği" true "ise, Host web uygulamalarını dinamik olarak dağıtmaya ve gerektiğinde güncellemeye çalışır, örneğin yeni bir .WAR uygulaması appBase'e düşürülürse. Bunun çalışması için Host'un arka planının olması gerekir varsayılan yapılandırma olan işleme etkin. "
haltunbay

51

Manuel adımlar - Windows

  1. .War dosyasını (Örn: prj.war) %CATALINA_HOME%\webapps(ör: C: \ tomcat \ webapps)

  2. Çalıştırmak %CATALINA_HOME%\bin\startup.bat

  3. .War dosyanız otomatik olarak aynı ada sahip bir klasöre çıkarılır (uzantısız) (Örnek: prj)

  4. HTTP protokolüne gidin %CATALINA_HOME%\conf\server.xmlve bağlantı noktasını alın . <Connector port="8080" ... />. Varsayılan değer 8080'dir .

  5. Aşağıdaki URL'ye erişin:

    [<protocol>://]localhost:<port>/folder/resourceName

    (Örnek: localhost:8080/folder/resourceName)

URL'ye olmadan erişmeye resourceNameçalışmayın çünkü böyle bir dosya index.htmlyoksa /veya web.xml dosyasında " " veya " /*" gibi bir URL kalıbı yoksa çalışmaz .

Kullanılabilir ana yollar şunlardır: [<protocol>://]localhost:<port>/manager/html(Örn:) http://localhost:8080/manager/htmlve true"Çalışıyor" sütununda bulunurlar .


UI yöneticisini kullanarak:

  1. Git [<protocol>://]localhost:<port>/manager/html/(genellikle localhost:8080/manager/html/)

    Bu, [<protocol>://]localhost:<port>> Yönetici Uygulaması'ndan da elde edilebilir )

    Alırsan:

    403 Erişim Reddedildi

    gidin %CATALINA_HOME%\conf\tomcat-users.xmlve böyle bir satırı etkinleştirdiğinizden emin olun:

    <user username="tomcat" password="tomcat" roles="tomcat,role1,manager-gui"/>
  2. In dağıtma bölümünde, dağıtma alt bölüm için WAR dosyası, tıklayın ... Göz .

    Göz atmayı dağıt

  3. Tıklayın>: (prj.war Örn) .war dosyasını seçin dağıtma .

  4. Gelen Uygulamalar bölümünde, projeniz (: prj Örn) adını görebilirsiniz.

20

Bahsedilen yollara ek olarak (savaş dosyasını doğrudan webapps dizinine bırakarak), Tomcat Manager uygulamasını yüklediyseniz, savaş dosyalarını tarayıcı aracılığıyla da dağıtabilirsiniz. Yöneticiye ulaşmak için sunucunun kök dizinine (sizin durumunuzda, localhost: 8080) gidin, "Tomcat Manager" ı seçin (bu noktada, "manager" olan bir Tomcat kullanıcısı için kullanıcı adı ve şifre bilmeniz gerekir - rol, kullanıcılar conf içinde tomcat-users.xml içinde tanımlanır- tomcat kurulumunun dizini). Açılış sayfasından, sayfanızın "Dağıt" bölümünü görene kadar aşağı doğru kaydırın; burada yerel makinenizden dağıtılacak bir WAR dosyası seçmek için "gözat" ı tıklayabilirsiniz. Dosyayı seçtikten sonra dağıt'ı tıklayın. Bir süre sonra yönetici uygulamanın dağıtıldığını (ve her şey yolunda giderse başladığını) bildirmelidir.

İşte 'daha uzun bir s nasıl yapılır ve Tomcat 7 dokümantasyon sayfalarından diğer talimatlar.


4
managerTomcat 7'de rolü artık manager-gui. Bundan ısırıldım.
SpliFF

2
Webapps içindeki .war dosyasını bırakmak benim için çalışmadı ve günlüklerde herhangi bir hata işareti yoktu. Tomcat Manager'dan bunu yapmak hile yaptı. İlk yöntemin neden başarısız olduğuna dair bir ipucu yok
09'da xverges

15

İki yol vardır:

  1. Sıcak dağıtım yapabilirsiniz (Sıcak dağıtım, sunucu çalışırken / dağıtım yaparken dağıtım anlamına gelir).
  2. Veya soğuk dağıtım yapabilirsiniz (Soğuk dağıtım, sunucu durdurulduğunda dağıtım anlamına gelir).

Konsol dağıtımı için tomcat yönetici konsolunu kullanmanız veya uygulamanızı sunucunuzun tomcat_home dizininin webapp klasörüne kopyalayıp yapıştırmanız yeterlidir.

Not: Savaş dosya boyutunuzun 52 MB'den ( varsayılan yapılandırma değeri ) fazla olduğundan emin olun , webapp klasörünüzün Manager uygulamasının web.xml dosyasında iki küçük değişiklik yapmanız gerekir (Yönetici uygulaması varsayılan olarak Apache tomcat tarafından sağlanır sunucuyu yükledikten sonra).

  • Yönetici uygulamasının web.xml dosyasına gidin (örneğin /tomcat7/webapps/manager/WEB-INF/web.xml altında olabilir.

  • Increase the max-file-size and max-request-size values in web.xml file:

    <multipart-config>

        <!– 50MB max –>
    
        <max-file-size>52428800</max-file-size>
    
        <max-request-size>52428800</max-request-size>
    
        <file-size-threshold>0</file-size-threshold>
    
     </multipart-config>

    Değerlerini koyarak boyutunu arttır <max-file-size>ve <max-request-size>ihtiyacına göre.


10

Bu benim için çalışıyor:

  1. Savaş dosyanızı (mysite.war) yerel olarak oluşturun.
  2. Yerel olarak .war dışında bir şey olarak yeniden adlandırın, mysite.www gibi
  3. Tomcat ile hala, yükleme mysite.www çalışan webapps dizininde.
  4. Yüklemeyi bitirdikten sonra mysite.war önceki sürümünü silin
  5. Dizini listeleyin, / mysite dizininin kaybolmasını izleyin.
  6. MySite.www olmak MySite.war olarak yeniden adlandırın.
  7. Oluşturulacak yeni / sitemi izleyerek dizini listeleyin.

Tomcat hala çalışır durumdayken yeni dosyayı bir savaş dosyası olarak yüklemeyi denerseniz, dosya orada olmadan genişletmeye çalışacaktır. Başarısız olacak. Başarısız olduktan sonra tekrar denemeyecektir. Böylece, www dosyasını yüklemek, ardından yeniden adlandırmak, tomcat fark etmeden önce tüm savaş dosyasının mevcut olmasını sağlar.

İpucu, savaş dosyasının sahibinin tomcat olup olmadığını kontrol etmeyi unutmayın (chown kullanın)


2
Bu istisnai durumlarda işe yarasa da, geçerli bir katılımsızlık / dağıtım prosedürü değildir. mysite.www, autodeploy = "true" olursa ve mysite.war silindiğinde mysite içeriği birkaç normal koşulda silinirse yeni bir bağlam oluşturur. En iyi referans Tomcat Web Uygulaması Dağıtımıdır .
user250343 20:16

4

Tomcat7 yazılımını kullanarak kurduysanız apt-get , uygulamanızı/var/lib/tomcat7/webapps/

Örneğin.

sudo service tomcat7 stop

mvn clean package
sudo cp target/DestroyTheWorldWithPeace.war /var/lib/tomcat7/webapps/
#you might also want to make sure war file has permission (`777` not just `+x`)
sudo service tomcat7 start

Ayrıca, uygulamanızın aslında tomcat ile barış yaptığını doğrulayabilmeniz için tomcat günlüğünü takip etmeye devam edin.

tail -f /var/lib/tomcat7/logs/catalina.out

Konuşlandırılan uygulama http://172.16.35.155:8080/manager/html


2

1. Uygulamanızdan bir savaş dosyası oluşturun
2. tomcat yöneticisini açın, sayfa aşağı gidin
3. Savaşı uygulamak için gözat'a tıklayın.
4. savaş dosyanızı seçin. İşte böyle!


2

Savaş dosyasını tomcat üzerinden dağıtmak için aşağıdaki adımları izleyin:

  1. Tomcat'i durdur. powershell-> services.msc-> OK-> Apache Tomcat 8.5-> dur (sol tarafta).

resim açıklamasını buraya girin

  1. .War dosyasını E: \ Tomcat_Installation \ webapps içine koyun, webapps klasörü yani put.war (put.war sadece bir örnektir)

resim açıklamasını buraya girin

  1. Tomcat'i başlattıktan sonra (tomcat powershell-> services.msc-> OK-> Apache Tomcat 8.5-> start'ı başlatmak için)

E içinde bir klasör alırsınız: \ Tomcat_Installation \ webapps ** put **

resim açıklamasını buraya girin

Bu şekilde savaş dosyanızı Apache Tomcat'e dağıtabilirsiniz.


1

Aşağıdaki adımları uygulayın:

  • Tomcat'i Durdurun
  • Project'e sağ tıklayın ve "Clean and Build" a tıklayın
  • Proje Dizininize gidin ve Dist Klasörünün içine tomcat'inize kopyaladığınız savaş dosyasını alacaksınız
  • webApp Klasörü
  • Tomcat'i başlat
  • otomatik savaş dosyası özü ve projenizi çalıştırın

1

Aşağıdaki linkteki talimatı takip ettim, benim için çalışıyor. http://www.coderanch.com/t/487178/Tomcat/war-file-show-load

  1. Tomcat'i Durdur

  2. Tomcat / log'daki tüm günlükleri ve tomcat / conf / Catalina / localhost içindeki tüm dosyaları silin

  3. Savaş dosyasını ve oluşturduğu dizini (varsa) tomact / webapps'den kaldırın

  4. Tomcat'i başlat

  5. Günlükleri izlerken savaş dosyasını tekrar webapps dizinine kopyalayın

Bundan sonra , sorunu bulmak için catalina.xxxx-xx-xx.log dosyasına göz atın .


1
Bu, yalnızca Tomcat tarafından yönetilen dosyalara müdahale ettiği için geçerli bir katılımsızlık / dağıtım prosedürü değildir. En iyi referans Tomcat Web Uygulaması Dağıtımıdır
user250343 20:16
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.