我正在尝试提供一个Node JS应用程序以及一些已经正常运行且仅提供静态内容的静态站点(/ insta-app是其中一个应用程序,还有另一个nginx文件,其他服务器块用于其他服务器块坐在不同的子域名上)。当我导航到URL / nodejsapp时,我成功获得了server.js应用程序。问题是app所需的所有静态内容都没有得到服务,而是作为404(图像,js文件和css)出现。我为nodejsapp / dist编写了一个位置块,其中存在静态内容,但这并没有解决问题。该内容由成功调用的把手模板请求,并位于根目录中的views文件夹中。我在ubuntu服务器上运行整个事情,并且节点应用程序正在通过pm2运行,当我请求curl localhost:3000时工作正常。如何将静态内容导入服务器?
Nginx服务器块:
server {
listen 443 ssl default_server;
root /var/www;
index index.html index.htm server.js;
server_name uat.com www.uat.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/uat.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/uat.com/privkey.pem;
location / {
try_files $uri $uri/ =404;
}
location ~ /.well-known{
allow all;
}
location /insta-app{
alias /var/www/insta-app/html;
allow all;
}
location /nodeJsApp{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $proxy_host;
proxy_cache_bypass $http_upgrade;
proxy_redirect off;
}
# attempt to serve the static content of the app
location /nodeJsApp/dist{
root /var/www/sydney-sevens/dist;
try_files $uri $uri/ =404;
}
}