配置Nginx以从根目录中的位置为节点js app提供服务

时间:2017-02-07 02:04:44

标签: nginx nginx-location

我正在尝试提供一个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;
       }
}

0 个答案:

没有答案