2013-02-23 7 views
14

Muszę uruchomić moją aplikację Java pod numerem cPanel. Mam pomyślnie zainstalowany Tomcat,Jak rozmieścić pliki wojny w cPanel i usunąć nazwę projektu?

mogę uruchomić mojej aplikacji poprzez skopiowanie war plik do mojego folderu www ale problemem jest to, że pokazuje nazwę Project (war nazwa pliku) w adresie, muszę wiedzieć, jak usunąć to , więc użytkownicy mogą uzyskać dostęp do www.example.com zamiast www.example.com/MyProject/index.jsp?

+0

> 2) Gdzie mogę znaleźć terminal, aby wpisać to polecenie? Jakiego systemu operacyjnego używasz? Windows? Unix? Wydaje mi się, że masz instrukcje dla unixa –

+0

Tak, o/s to unix, czy powinienem używać ssh do dostępu do terminala? –

+0

Jeśli jesteś zalogowany w oknie bezpośrednio, powinieneś móc kliknąć prawym przyciskiem myszy na pulpicie lub przejść do menu najlepszych aplikacji i wyszukać "terminal" inaczej tak, ssh do skrzynki, przejdź do katalogu i uruchom rozpakuj dowództwo. –

Odpowiedz

5

Zgodnie z one cpanel hosting service, dostęp do wiersza poleceń jest z reguły wyłączany dla cpanela ze względów bezpieczeństwa i trzeba go o to konkretnie poprosić. Jeśli masz ten dostęp, możesz się zalogować i uruchomić polecenie rozpakuj (po przesłaniu pliku wojny przy użyciu FileZilla lub podobnego).

Według cpanel jeśli nie masz dostępu wiersza polecenia, można przesłać wojnę do public_html katalogu, ale zanim się do tego trzeba zmienić config Apache i dodać „JkMount” dla tego (patrz ten z "appname" poniżej).

<IfModule mod_jk.c> 
    JkMount /*.jsp ajp13 
    JkMount /servlet/* ajp13 
    JkMount /servlets/* ajp13 
    JkMount /*.do ajp13 
    JkMount /appname/* ajp13 
</IfModule> 

Poza oczywiście, że zamiast nazwy aplikacji wstawia się "nazwa aplikacji". Ta zmiana poinstruuje Apache, aby przekierowywał połączenia do adresu URL najwyższego poziomu (np. Mydomain.com/appname) do Twojej instancji Tomcat (np. Mydomain.com:8080/appname). Po załadowaniu wojny i zmianie konfiguracji, musisz ponownie uruchomić apache.

Ale powiedzieliśmy, że nie mamy dostępu ssh, więc w jaki sposób możemy zmodyfikować ten plik. według this forum możemy edytować /home/username/public_html/.htaccess lub po prostu /public_html/.htaccess i dodać te linie:

SetHandler jakarta-servlet 
SetEnv JK_WORKER_NAME ajp13 

Teraz apache będzie przekierowanie do Tomcat dla mydomain.com/appname zamiast mydomain.com:8080/appname. Jak możemy go uruchomić z witryny mydomain.com? Po prostu nie znam odpowiedzi na to. O ile wiem, przy użyciu zwykłej sztuczki zmiany pliku wojennego na ROOT.war nie działa on w cepelelu.

+0

dzięki za odpowiedź, przesłałem mój plik wojenny do public_html, ale nie wiem, jak dodać JKMount! –

+0

W jaki sposób skonfigurowałeś swojego Tomcat? Widzę odniesienia w Internecie do WHM i EasyApache. Zarówno w odniesieniu do cpanel. Użyłeś jednego z nich? –

+0

Jeśli łączysz się z hostem za pomocą FileZilla, widzisz katalogi/pliki, takie jak: /usr/local/apache/conf/jk.conf i /usr/local/apache/conf/cp_jkmount.conf? –

-1

wystarczy rozpakować archiwum .war w powłoce. Zobacz:

Jak wdrożyć aplikację .WAR - Ubiquity Hosting Wiki

Mamy ponad 100 użytkowników, którzy korzystali z tych instrukcji i działa świetnie. Jeśli wdrożyłeś Tomcat za pomocą EasyApache i skonfigurujesz go tak, jak zaprojektował cPanel, to powinno być o tym mowa. Że pochodzi z:

http://twiki.cpanel.net/twiki/pub/Al...s08/Tomcat.pdf

http://forums.cpanel.net/f42/how-auto-deploy-war-cpanel-server-55096.html

3

Nazwa pliku war nie ma nic wspólnego, jak projekt jest prezentowany przez kontener - to tylko kwestia konfiguracji i kontenerach domyślnych przedstawia kontekst ścieżka jako nazwa pliku.

i korzystania ROOT.war jest po prostu głupie sztuczki, przeczytaj o konfiguracji kontekstu w Tomcat (mam założyć używasz Tomcat)

http://tomcat.apache.org/tomcat-7.0-doc/config/context.html

+0

Dzięki, przygotowałem to wcześniej, ale mogę znaleźć powiązana część z problemem. –

2

Istnieje kilka sposobów, aby ustawić główny kontekst aplikacji w Tomcat . Wszystkie zostały opisane w dokumentacji serwera.Oto kolejna modyfikacja Zmodyfikuj tomcat_home\conf\server.xml. Pod tagiem <Host umieścić

<Context path="" docBase="yourappname" debug="0" reloadable="true" /> 

gdzie można umieścić yourappname.war w folderze webapps odbijającej appBase atrybut znacznika <Host.

Zapisz, zrestartuj serwer.

4

Trzeba będzie naprawić wpisy na /usr/local/jakarta/tomcat/conf/server.xml Jakiś czas temu po wielu szczypanie użyłem tego i to działało:

<Host name="domain.com" appBase="/home/username/public_html" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" reloadable="true"> 
<Alias>www.domain.com</Alias> 
<Context path="" reloadable="true" docBase="/home/username/public_html" debug="1" privileged="true" autoDeploy="true" liveDeploy="true" /> 
<Context path="/manager" debug="0" privileged="true" docBase="/usr/local/jakarta/tomcat/server/webapps/manager"> 
</Context> 
</Host> 
+0

Czy jest to w kontekście cpanel? Jeśli tak, znacząca część pytania jest ograniczona do ograniczeń na karcie cpanel. Jak zmodyfikować/usr/local/coś bez ssh? –

2

Jeśli możesz 't edit server.xml, Następnie możesz usunąć plik ROOT.war i zmienić nazwę pliku wojny na ROOT.war lub po prostu rozpakować plik .war do katalogu o nazwie ROOT.
Przy następnym otwarciu witryny ex - www.example.com zostanie wyświetlony plik index.jsp.
Zrobiłem to samo dla mojej witryny w Openshift, która zapewnia bezpłatną usługę PAAS

Powiązane problemy