2013-01-10 10 views

cevap

7

biraz detaylı yaklaşım

İlk Yöntem:

ilk kapatma Tomcat [bin dizininden (sh shutdown.sh)] o zaman Tomcat webapps klasörünün tüm içeriği silmeniz gerekir (rm -fr *) daha sonra WAR dosyanızı ROOT.war olarak yeniden adlandırın. tomcat 'u başlatın [bin dizininden (sh startup.sh)]

İkinci Yöntem:

orijinal adı altında, CATALINA_BASE/webapps daki savaş dosyasını bırakın - server.xml dosyasında Sunucu eleman autoDeploy ve deployOnStartup kapatın. , her iki yolun da yolunu ve docBase'i belirterek, sunucu.xml'deki tüm uygulama İçeriğini açıkça tanımlar. Bunu yapmalısınız, çünkü tüm Tomcat otomatik dağıtım mekanizmalarını devre dışı bıraktınız ve Tomcat, uygulamalarını artık İçeriği server.xml içinde bulamazsa, uygulamalarınızı artık dağıtmayacak.

Not: Bu son yöntem, aynı zamanda herhangi uygulamada herhangi bir değişiklik yapmak için, size Tomcat durdurmak ve yeniden başlatmak zorunda olacağını ima

.

Üçüncü Yöntem: CATALINA_BASE/webapps dışında

yerleştirin savaş dosyası (o çifte açılmasını önlemeye dışında olmalıdır). -
CATALINA_BASE/conf//'da ROOT.xml adlı bir bağlam dosyası yerleştirin. Bu bağlam dosyasındaki tek öğe, savaş dosyanızın konumunu gösteren bir docBase özniteliğine sahip olmalıdır. yol öğesi ayarlanmamalıdır - bu ROOT.xml örneğinde .xml dosyasının adından türetilmiştir. Ayrıntılar için yukarıdaki İçerik Kutusuna bakın.

+1

Yöntem 3: 'ROOT. xml', CATALINA_BASE/conf/Catalina/localhost' içinde (teknik olarak "conf//", ancak "Catalina" ve "localhost", "out-of-the-box" server.xml içindeki varsayılanlardır) '' doğrudan '' 'değil' ''. –

+0

İlk yöntem denedim, Çoğu zaman "http://myapp.mydomain.com" bana kötü istek hatası verir, IP tarafından app erişirseniz, Onun iyi çalışıyor. Bunun çözümü nedir? Tomcat 6 kullanıyorum. – n92

2

1) uygulama, sunucu

2) grails uygulama bağlam yolu olmalıdır KÖK uygulaması olarak grails uygulaması olacağı yapılandırılması gerekir "/" veya app.context =/

+0

Ortamınız neye yarar? – TheWhiteRabbit

+0

Çevremdeki üretim, Çalışmıyor, "Grails prod war" kullanarak savaş dosyasını oluşturdum. – n92

+0

İlk uygulama nasıl yapılır? "Uygulama sunucusunun, kazıma uygulamanızı ROOT uygulaması olarak kullanması için yapılandırılması gerekir". Spesifik olmak için ikinci bir – n92

1

Sen yapabilir Tomcat, sadece ROOT.war, yani Grails tarafından üretilen myapp-0.1.war'u alarak ve TOMCAT_DIR/webapps/ROOT.war'a kopyalayarak kök bağlam olarak bir web sunucusuna hizmet eder.

İçinde grails.serverURL için bir ayar olarak varsa Config.groovy Eğer

environments { 
    production { 
    grails.serverURL = 'http://myapp.mydomain.com' 
    } 
} 

Ama

Grails 2'de genellikle güvenlidir Grails tarafından oluşturulan herhangi bir mutlak bağlantılar doğru olduğundan emin olmak için üretim ortamı için bu geçersiz kılmak gerekir grails.serverURL'u tamamen iptal etmek ve uygulamanın çalışma zamanında doğru değeri çıkarmasına izin vermek. Doğru Host başlığından geçmeyen bir ters proxy'nin arkasında koşuyorsanız buna ihtiyacınız vardır.

İlgili konular