J'ai une application mvc de printemps. Je veux le rendre disponible pour les utilisateurs bêta. J'ai acheté des noms de domaine/setup nameservers et tous ces trucs DNS.Spring mvc tomcat application déployer
accéder à mon bac app hôte local comme celui-ci:
localhost:8080/myApp
Mais dans le realworld Je veux y accéder comme mydomain.com
. Donc j'ai beaucoup googlé, et j'ai trouvé que les gens recommandaient nginx pour ces choses comme "le plus rapide". nginx Installed Alors configuration suivante:
server {
listen 80;
server_name www.mydomain.com mydomain.com;
location/{
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080;
}
} #end server
Le problème:
Lorsque je visite mydomain.com
je suis bien connu que la page tomcat If you're seeing this page via a web browser, it means you've setup Tomcat successfully. Congratulations!
.
Si je vais manuellement à mydomain.com/myApp
alors tout fonctionne comme prévu.
Question:
est-il un moyen pour moi de configurer ceci pour effectuer les opérations suivantes:
Quand je tape dans la barre d'adresse mydomain.com
que je suis transféré à mydomain.com/myApp
Ou je suis complètement éteint dans ce cas. Il y a un moyen plus facile de le faire?
mise à jour:
Par suggestion FVU quand je change ROOT dans un autre répertoire puis déployer mon dans le répertoire ROOT je reçois 404 de tomcat:
type Status report
message
description The requested resource is not available.
Je peux récupérer cette erreur le journal du serveur:
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.util.Log4jConfigListener
java.lang.IllegalStateException: Web app root system property already set to different value: 'webapp.root' = [/tomcat_9090/webapps/myApp/] instead of [/tomcat_9090/webapps/ROOT
/] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!
Mise à jour II:
Lorsque je change la configuration à:
proxy_pass http://localhost:8080/myApp/;
Le site ressemble à ça fonctionne, mais il ne vraiment pas. Les liens ne fonctionnent pas, css/js ne se charge pas.
Le plus simple sera d'installer votre application en tant qu'application racine dans Tomcat, [comme expliqué ici] (http://stackoverflow.com/questions/715506/tomcat-6-how-to-change-the-root-application) – fvu
Re mise à jour: voir http://stackoverflow.com/questions/5014651/webapproot-in-spring pour info, des solutions et des pointeurs utiles par rapport à cette question liée au printemps – fvu
aussi, pourrait-il être que vous n'avez pas annuler le déploiement de l'application vous à l'origine chargé (comme/myApp)? Je ne laisserais qu'une copie chargée en tout temps. – fvu