nginx nodejs 配置
发布于 6 年前 作者 wtcsy 17828 次浏览 来自 问答

就是希望 静态文件都是nginx处理 接口node来处理 配置大概是这样 server { listen 80; server_name localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   /home/conmmon;
        index  index.html index.htm;
    }

    error_page  404              /404.html;

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }


}

server {
    listen 80;
    server_name www.hahaxx.com/test;
    location /{
        proxy_pass http://127.0.0.1:3000;
    }
}

根目录我想指到 /home/conmmon 可以访问里面的静态资源
然后接口请求 我想通过访问127.0.0.1:3000 才处理接口 然后 server_name www.hahaxx.com/test
发现是不行的 大家是什么设置的啊 !!!

8 回复

如果你用的是express,要去掉app.use express.static(path.join(__dirname, 'public'))

什么框架都没用 主要就是想试一下怎么配

server {
    listen 80;
    server_name www.hahaxx.com
  location / {
        root   /home/conmmon;
        index  index.html index.htm;
    }
    location ^/test {
	    proxy_pass http://127.0.0.1:3000;
	}
}

楼上正解 nginx匹配server的时候是先测试listen中的ip和port,然后测试server_name。如果没有匹配上server_name,会使用默认的server或者第一个匹配上的listen。 你的第二个server_name里的test是干嘛的。。

接口路径有前缀吗?没有的话可能需要用 try_files 指令

已经配成功了 多谢各位…

@wtcsy 可以分享一下完整的吗

@wang-weifeng 其实就是设置个代理 server { listen 80 default_server; server_name _; root /usr/share/nginx/html;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

location / {
}
location /app {
    proxy_pass http://112.74.127.232:9000;
}
error_page 404 /404.html;
    location = /40x.html {
}

error_page 500 502 503 504 /50x.html;
    location = /50x.html {
}

}

回到顶部