mir eine Möglichkeit, dies mit Apache zu lösen herausgefunden und mod_proxy. Dadurch können sowohl dein Grails-Installationsprojekt als auch dein Grails-Projekt unberührt bleiben. Kein Hacking bei den Grails-Internals, keine Plug-ins, die du in der Produktion nicht brauchst.
1. Installieren Sie Apache 2.2
Sie aber dies am sinnvollsten für Ihr Betriebssystem macht. Es ist wichtig, dass Sie Apache 2.2 installieren. Ich habe dies auf einem Ubuntu-System getan, also werden bestimmte Befehle und Dateispeicherorte für Ubuntu sein. Ändern Sie, wie für Ihr System erforderlich.
Nachdem Sie Apache installiert haben, starten Sie httpd.
sudo /sbin/service httpd start
Testen Sie, ob es mit einem Webbrowser korrekt installiert wurde.
2. ein Verzeichnis root erstellen
einen Speicherort auf der Festplatte Wählen Sie, wo Sie Ihre statischen Dateien halten. Dies wird der Dokumentstamm für httpd sein. Ich werde/var/grails_root verwenden.
mkdir /var/grails_root
touch /var/grails_root/crossdomain.xml
3. einen Virtualhost in httpd.conf erstellen
öffnen httpd.conf in Ihrem bevorzugten Texteditor.
vim /etc/httpd/conf/httpd.conf
Wählen Sie Ihren bevorzugten Port und erstellen Sie einen virtuellen Host an diesem Port. Ich werde 9090 verwenden, aber jeder Port wird es tun.
Fügen Sie diese Zeilen zu httpd hinzu.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
-Test, den Sie nun in der Lage sind, die statischen Dateien in Ihrem Dokument-Root-Verzeichnis zuzugreifen. Wenn nicht, müssen Sie dies beheben, bevor Sie mit dem nächsten Schritt fortfahren.
4. Aktivieren Sie mod_proxy und mod_proxy_http
Sie müssen diese beiden Module laden. mod_proxy verfügt über die Basisfunktionalität für die Proxyfunktion, und die mod_proxy_xxx-Module enthalten protokollspezifische Informationen. Sie liefern Standard mit httpd 2.2, so dass Sie nichts extra installieren müssen.
diese Zeilen hinzufügen
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
Nun ändern Sie den virtuellen Host Sie im vorherigen Schritt eingerichtet Httpd.conf. (Sie können die Kommentare weglassen)
<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
Nun sollten Sie in der Lage sein, sowohl Ihre statische Dateien zuzugreifen und Ihre Grails App über den Port 9090.
Das ist alles basierend auf den hier gefundenen Informationen: http://docs.codehaus.org/display/JETTY/Configuring+mod_proxy
Informationen dazu finden Sie auf der gleichen Website mit anderen Versionen von Apache.
Lange ist kein Problem. Wenn dein Blog nicht für alle Ewigkeit da ist (sehr unwahrscheinlich), paraphrasiere (oder, verdammt, kopiere einfach) den Inhalt hier. Antworten sollten mehr sein als nur "hier gehen, um die Antwort zu sehen". – cHao
Okay. Der Link wurde durch den relevanten Text aus dem Blogpost ersetzt. – haydenmuhl