We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
一般来说使用 node.js 开发的 webapp 都不会是默认的80端口,以官方文档演示为例:
const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
该例子使用的是 3000 端口,需要像 localhost:3000 这样,域名(或IP)加上 :port 才能访问。而一般 Web 应用都是监听的 80 端口。而普通应用一般只能监听 1024 以上的端口号,监听 80 端口需要 root 权限。而且 node.js 监听了 80 端口后,像 nginx 这类 HTTP Server 就只能选择监听其他端口了。
localhost:3000
:port
1024
所以一般不使用 node.js 直接监听 80 端口,而是通过 nginx 来做反向代理。
Nginx 的具体配置如下:
upstream nodejs { server 127.0.0.1:3000; keepalive 64; } server { listen 80; # server_name 后面是域名,这里以 www.domain.com 为例 server_name www.domain.com; # 日志 access_log /var/log/nginx/test.log; 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_pass http://nodejs; } }
The text was updated successfully, but these errors were encountered:
No branches or pull requests
一般来说使用 node.js 开发的 webapp 都不会是默认的80端口,以官方文档演示为例:
该例子使用的是 3000 端口,需要像
localhost:3000
这样,域名(或IP)加上:port
才能访问。而一般 Web 应用都是监听的 80 端口。而普通应用一般只能监听1024
以上的端口号,监听 80 端口需要 root 权限。而且 node.js 监听了 80 端口后,像 nginx 这类 HTTP Server 就只能选择监听其他端口了。所以一般不使用 node.js 直接监听 80 端口,而是通过 nginx 来做反向代理。
Nginx 的具体配置如下:
The text was updated successfully, but these errors were encountered: