用nginx做nodejs服务可以做负载均衡,还可以帮node服务代理静态资源的服务,减轻node服务的负担,又可以隐藏ndoe服务,降低被攻击的风险等等。
nginx常用的几个命令
- 启动nginx服务
start nginx
- Windows下查看nginx服务是否存在
tasklist /fi "imagename eq nginx.exe"
- 重新加载nginx.conf
nginx -s reload
或
nginx -c conf/nginx.conf
- 关闭nginx服务
nginx -s stop
或
ngnix -s quit
简单的nodejs服务
const http = require ('http')
const server = http.createServer((req, res) => {
res.write('Hello world!');
res.end();
});
server.listen(3000);
nginx.conf的配置
upstream nodejs{
server 127.0.0.1:3000;
keepalive 64;
}
server {
listen 80;
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_pass http://nodejs;
}
测试
分别启动nodejs服务和nginx服务后,在浏览器里访问:http://localhost 进行测试。