我这边的环境就是windows了: 我的conf文件是这样配置的(主要部分):
upstream mysite.com{
server 127.0.0.1:3000;
}
server {
listen 0.0.0.0:8080;
server_name mysite.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_read_timeout 300s;
}
}
当我键入mysite.com时就是出现not found之类的。我在stackoverflow上也找了一下,但是还是没有解决。 所以在这里希望能得到准确的解答。同时也给以后遇到类似于此问题的同学一个解决的方法。:)
你nginx监听的8080,所以你要要键入mysite.com:8080
@pathletboy 恩,是的,我这样试过了,可还是出现了not found 之类的提示。挺郁闷的:(
nginx在windows下可是很不怎么样的, 还是用iis吧
<div>我的<strong> nginx </strong>(Tengine) 配置是这样的,运行是成功的,cookie、session什么的也都正常:</div><pre class=“prettyprint”> http { server { listen 80; server_name localhost; location /{ proxy_pass http://nodejs_upstream/; } location /http-bind/ { proxy_pass http://localhost:7070/http-bind/; } } upstream nodejs_upstream { server 127.0.0.1:3000; } }</pre>
用127.0.0.1:8080就可以访问到了,如果你想用mysite.com:8080访问, 记得在host文件增加一条DNS 127.0.0.1 mysite.com
upstream nodejs__upstream2 {
server 127.0.0.1:3000;
keepalive 64;
}
server {
listen 8080;
server_name localhost;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_pass http://nodejs__upstream2;
}
}
需要nginx -s reload
,你确保都执行了吗?
@leohxj 恩,是的,这些基本操作我都知道, 但是现在显示的是白屏,是不是环境问题?我为这个问题也纠结了几天了。。 :(
@struCoder 你确定端口已经转向了吗?服务器端有输出么
@struCoder 修改下hosts文件,增加域名和本地ip的一条记录就可以了。
5楼 9楼 正确
etc下hosts文件加一行 ip 域名~~
用node proxy即可,不需要nginx
曾经试过,真的不建议在windows下用nginx,支持性非常差,不知道最新版的nginx是否已经很好兼容windows了,之前部署就没成功过,而且访问非常慢,后面自己就了linux服务器了