express - nginx运行node程序,路由跳转是404,静态文件可以正常加载
PHP中文网
PHP中文网 2017-05-24 11:32:53
0
2
1078

nginx的配置代码是这样的

server {
        listen 80 default_server;
        listen [::]:80 default_server;
        
        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                root /home/ubuntu/card/public;
                try_files $uri $uri/ =404;
                proxy_pass http://127.0.0.1:3000;
        }
        
}

node程序本身没有问题

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(2)
伊谢尔伦

我的理解是try_files 如果不成功,应该让express服务器尝试响应

location / {

            root /home/ubuntu/card/public;
            try_files $uri $uri/ @proxy;
    } 

location @proxy {

proxy_pass http://127.0.0.1:3000;  

}

漂亮男人

假设你的目录/home/ubuntu/card/public下有个叫uploads的文件夹,nginx配置如下

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    server_name _;

    location / {
        proxy_pass http://127.0.0.1:3000;
    }

    location /uploads {
        root /home/ubuntu/card/public/;
        index index.html index.htm index.nginx-debian.html;
        try_files $uri $uri/ =404;
    }
}

那么访问http://localhost/会跳到nodejs,http://localhost/uploads/会访问/home/ubuntu/card/public/uploads下的静态文件。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板