CNode

nginx nodejs 配置

问答
Wwtcsy发布于10 年前最后回复10 年前8 回复19689 浏览0 收藏

就是希望 静态文件都是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)

Y
youqingkui#1·10 年前

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

W
wtcsy#2·10 年前

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

O
orbury#3·10 年前
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;
	}
}
X
xltank#4·10 年前

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

Z
zstxt1989#5·10 年前

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

W
wtcsy#6·10 年前

已经配成功了 多谢各位....

W
wang-weifeng#7·10 年前
引用 wtcsy已经配成功了 多谢各位....

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

W
wtcsy#8·10 年前

@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 {
}

}

参与回复
登录后即可参与回复。登录