Récemment, j'ai commencé à utiliser NGINX, j'ai trouvé que nous pouvons l'utiliser pour le proxy inverse, servant du contenu statique à partir de lui-même, ce qui peut réduire le temps de chargement. J'ai un serveur Tomcat/JBoss sur ma machine locale et je veux mettre NGINX devant pour que le contenu statique soit servi à partir de NGINX et reposé par Tomcat/JBoss. Mon application Tomcat/JBoss s'exécute sur http://localhost:8081/Test
ma configuration NGINX a fonctionné correctement mais elle n'est pas en mesure de charger css/js/jpg
fichier. Voici ma structure de guerre où les contenus statiques sont
Test.war
TEST
|
|--->Resources
| |------->CSS
| | |----> style.css
| |
| |-------->Images
| |----> a.jpg
| |----> b.jpg
|
|--->WEB-INF
| |----->Web.xml
| |----->spring-servlet.xml
|
|--->JSP
|---->login.jsp
Je pense que le problème est dû au chemin absolu, alors devrais-je copier le dossier des ressources et le mettre dans un dossier dans NGINX et configurer mon NGINX pour choisir un fichier dans son propre répertoire plutôt que sur Tomcat/JBoss? Je suis nouveau, donc je n'ai aucune idée de le faire. Quelqu'un peut-il m'aider? Ceci est mon fichier de conf pour NGINX (windows)
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/Host.access.log main;
location / {
proxy_pass http://127.0.0.1:8081/Test/;
}
Vous pouvez ajouter location avec regexp:
server {
listen 80;
server_name localhost;
location ~* \.(js|jpg|png|css)$ {
root path/to/Tomcat/document/root/Test/;
expires 30d;
}
location / {
proxy_pass http://127.0.0.1:8081/Test/;
}
}
Essayez
server {
listen 80;
server_name localhost;
location ~* \.(css|js|gif|jpe?g|png)$ {
expires 168h;
}
location / {
proxy_pass http://127.0.0.1:8081/Test/;
}
}
Comment tester
Dans votre exécution CLI ab -c 20 -n 1000 https://your-site/any-file
Vous verrez Temps nécessaire aux tests diminuer considérablement.