Je me suis un moyen de résoudre ce avec Apache et mod_proxy. Cela permet à votre installation Grails et à votre projet Grails de rester intacts. Pas de piratage à l'intérieur des Grails, pas d'ajout de plug-ins dont vous n'avez pas besoin en production.
1. Installez Apache httpd 2.2
Est-ce que cela rend cependant le plus de sens pour votre système d'exploitation. Il est important d'installer Apache 2.2. Je l'ai fait sur un système Ubuntu, donc les commandes spécifiques et les emplacements de fichiers seront pour Ubuntu. Modifiez si nécessaire pour votre système.
Après avoir installé Apache, démarrez httpd.
sudo /sbin/service httpd start
Vérifiez qu'il est installé correctement à l'aide d'un navigateur Web.
2. Créez un répertoire racine
Choisissez un emplacement sur votre disque sur lequel vous garderez vos fichiers statiques. Ce sera la racine du document pour httpd. J'utiliserai/var/grails_root.
mkdir /var/grails_root
touch /var/grails_root/crossdomain.xml
3. Créer une VirtualHost dans httpd.conf
httpd.conf Ouvrir dans votre éditeur de texte favori.
vim /etc/httpd/conf/httpd.conf
Choisissez votre port favori et créez un hôte virtuel sur ce port. Je vais utiliser 9090, mais tout port fera l'affaire.
Ajoutez ces lignes à httpd. conf
Listen 9090
<VirtualHost *:9090>
DocumentRoot "/var/grails_root"
<Directory "/var/grails_root">
Allow from all
</Directory>
</VirtualHost>
Restart httpd
sudo /sbin/service httpd restart
Vérifiez que vous êtes maintenant en mesure d'accéder aux fichiers statiques dans votre répertoire racine des documents. Si ce n'est pas le cas, vous devrez résoudre ce problème avant de passer à l'étape suivante.
4. Activez mod_proxy et mod_proxy_http
Vous devez charger ces deux modules. mod_proxy a la fonctionnalité de base pour le mandatement, et les modules mod_proxy_xxx ont des informations spécifiques à un protocole. Ils expédient standard avec httpd 2.2, donc vous ne devriez pas avoir besoin d'installer quoi que ce soit d'autre.
Ajouter ces lignes à HTTPD.conf
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
modifier maintenant l'hôte virtuel que vous avez configuré à l'étape précédente. (Vous pouvez ignorer les commentaires)
<VirtualHost *:9090>
DocumentRoot "/var/grails_root"
<Directory "/var/grails_root">
Allow from all
</Directory>
# New lines start here
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /grailsApp http://your.grails.server:8080/grailsApp
# New lines end here
</VirtualHost>
Restart httpd
sudo /sbin/service httpd restart
Maintenant, vous devriez être en mesure d'accéder aux fichiers statiques et votre application Grails via le port 9090.
Tout cela est basé sur l'information trouvée ici: http://docs.codehaus.org/display/JETTY/Configuring+mod_proxy
Les informations pour ce faire avec d'autres versions d'Apache sont disponibles sur le même site.
La longueur n'est pas un problème. À moins que votre blog soit pour l'éternité (très peu probable), paraphraser (ou, diable, juste copier) le contenu ici. Les réponses devraient être plus que simplement «allez ici pour voir la réponse». – cHao
Okay. Remplacé le lien avec le texte pertinent de l'article de blog. – haydenmuhl