2012-09-27 15 views
8

Birkaç uygulamayı çalıştıran bir PCI DSS uyumlu ortamım var ve sunucuyu yeniden başlatmadan yalnızca bir uygulamayı yeniden başlatmak istiyorum. Yöneticiye sahip değilim çünkü görünüşe göre bu ortamda izin verilmiyor.tomcat komut satırından webapp'ı yeniden başlatın

Komut satırı üzerinden tek bir web uygulamasını yeniden başlatmaya nasıl başlarım?

+0

Olası çoğaltılabilir [Dev bir ortamda tomcat'ta bir web uygulamasının yeniden yüklenmesinin kolay ve hızlı bir yolu nedir?] (Https://stackoverflow.com/questions/1800784/whats-an-easy-quick-way-to-reload -a-webapp-in-tomcat-in-dev-çevre) – rogerdpack

cevap

0

Maalesef komut satırından bunu yapmanın bir yolu olduğunu düşünmüyorum. Bunun yerine, ayrı bir Tomcat örneğinde yeniden başlatmanız gereken tek bir uygulamayı barındırmanın bir yolu olup olmadığını görmenizi tavsiye ederim, böylece diğer uygulamaları etkilemeden bu örneği yeniden başlatabilirsiniz.

2

Yönetici uygulamasına erişim olmadan, bunu yapamazsınız. Yönetici uygulamasına erişebilir ve hala web tarayıcınızın yerine komut satırını kullanmak istiyorsanız, bu command-line script for managing tomcat tomcat-manager'ı deneyebilirsiniz. Bu Python gerektiriyor, ancak böyle bir Unix kabuğundan şeyler yapmanızı sağlar:

İşte
$ tomcat-manager --user=admin --password=newenglandclamchowder \ 
> http://localhost:8080/manager deploy /myapp ~/src/myapp/myapp.war 
+0

Belki yönetici sadece localhost için etkin olabilir? – andho

17

ben bunu nasıl oluyor:

  1. Eğer kullanıcıya olduğundan emin olun

    $ tomcat-manager --user=admin --password=newenglandclamchowder \ 
    > http://localhost:8080/manager/ reload /myapp 
    

    ve tomcat kullanıcı veritabanında "yönetici komut dosyası" rolü. Yani genellikle sizin ${TOMCAT}/conf/tomcat-users.xml böyle çizgi var demektir:

<user username="admin" password="secret" roles="manager-gui,manager-script"/> 

Aksi takdirde, çünkü xsrf (CSRF) koruma 403 hatası alırsınız.

  1. kullanın curl veya URI'yı <yourserver>/manager/text/reload?path=/<context_path> almak istediğiniz ne olursa olsun komut satırı aracı:

    curl --user user:secret http://localhost:8080/manager/text/reload?path=/mypath 
    
+0

Çalıştığı !! Teşekkürler!! – JRichardsz

+0

Özellikle o FWIW yöneticisi yok dedi ... – rogerdpack

+0

Bir google arama hala bana bu konu gösterdi ve bu ben – Kunal

10

Ben partiye geç kaldım biliyorum ama bir App komut satırından yeniden yüklemek için yapabileceğiniz küçük bir hile uygulamanın web.xml gitmek ve sadece ona dokunmaktır.

touch web.xml

erkek kedi uygulamasını bir bu dosyada değişiklik, sadece dokunmak eğer, aslında dosyayı, sadece zaman damgası değiştirerek değil fark eder her seferinde yeniden yükler.

+0

için aradığım şey Bu sadece "autoDeploy = true" özniteliğine sahipseniz 'öğesi (varsayılan olarak). –

+0

Bu uygulamanın yeniden anlattığını söylemek istediğinize inanıyorum. Patlatılmış olan savaş dizinindeki bir mülk dosyasını değiştirip savaşa dokunursanız, savaşta orijinal değişikliklerle tüm değişikliklerinizi sıfırlar ve yeniden konuşlandırır. – jbu

İlgili konular