0

0

Node.js怎么配置使用Nginx服务器

王林

王林

发布时间:2023-05-12 16:25:06

|

1622人浏览过

|

来源于亿速云

转载


流程图

Node.js怎么配置使用Nginx服务器

nginx配置如下:

 http {
  proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=one:8m max_size=3000m inactive=600m;
  proxy_temp_path /var/tmp;
  include    mime.types;
  default_type application/octet-stream;
  sendfile    on;
  keepalive_timeout 65;
 
  gzip on;
  gzip_comp_level 6;
  gzip_vary on;
  gzip_min_length 1000;
  gzip_proxied any;
  gzip_types text/plain text/html text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
  gzip_buffers 16 8k;
 
  ssl_certificate /some/location/sillyfacesociety.com.bundle.crt;
  ssl_certificate_key /some/location/sillyfacesociety.com.key;
  ssl_protocols    sslv3 tlsv1;
  ssl_ciphers high:!anull:!md5;
 
  upstream silly_face_society_upstream {
   server 127.0.0.1:61337;
   server 127.0.0.1:61338;
   keepalive 64;
  }
 
  server {
   listen 80;
   listen 443 ssl;
 
   server_name sillyfacesociety.com;
   return 301 $scheme://www.sillyfacesociety.com$request_uri;
  }
 
  server {
    listen 80;
    listen 443 ssl;
 
    server_name www.sillyfacesociety.com;
 
    error_page 502 /errors/502.html;
 
    location ~ ^/(images/|img/|javascript/|js/|css/|stylesheets/|flash/|media/|static/|robots.txt|humans.txt|favicon.ico) {
     root /usr/local/silly_face_society/node/public;
     access_log off;
     expires max;
    }
 
    location /errors {
     internal;
     alias /usr/local/silly_face_society/node/public/errors;
    }
 
    location / {
     proxy_redirect off;
     proxy_set_header  x-real-ip      $remote_addr;
     proxy_set_header  x-forwarded-for $proxy_add_x_forwarded_for;
     proxy_set_header  x-forwarded-proto $scheme;
     proxy_set_header  host          $http_host;
     proxy_set_header  x-nginx-proxy  true;
     proxy_set_header  connection "";
     proxy_http_version 1.1;
     proxy_cache one;
     proxy_cache_key sfs$request_uri$scheme;
     proxy_pass     http://silly_face_society_upstream;
    }
  }
}

配置段说明

http {
  ...
  upstream silly_face_society_upstream {
   server 127.0.0.1:61337;
   server 127.0.0.1:61338;
   keepalive 64;
  }
  ...
}

nginx负载均衡多个nodo.js实例。keepalive 64 指示nginx在任何时候保持最少64个http/ 1.1连接到代理服务器。如果有更多的流量nginx将打开更多的连接。

http {
  ...
  server {
    ...
    location / {
     proxy_redirect off;
     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://silly_face_society_upstream;
    }
    ...
  }
}

将符合哪些的请求发送到代理上。nginx的匹配规则可以取看看前面的文章。
nginx处理静态内容

http {
  ...
  server {
    ...
    location ~ ^/(images/|img/|javascript/|js/|css/|stylesheets/|flash/|media/|static/|robots.txt|humans.txt|favicon.ico) {
     root /usr/local/silly_face_society/node/public;
     access_log off;
     expires max;
    }
    ...
  }
}

设置缓存

乐活途—购物分享社区 X2.0
乐活途—购物分享社区 X2.0

安装说明重要提醒:程序不支持二级目录安装,请使用一级目录或二级目录绑定!第一步,确定你的服务器支持PHP+mysql。第二步,确定你的服务器开启了gd库。第三步,将upload文件内的文件上传到网站的根目录第四步,访问你的域名+ /install/index.html进行安装,linux系统访问你的域名+ /Install/index.html第五步,按照安装程序步骤进行安装配置第六步,安装完毕后

下载
http {
  ...
  proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=one:8m max_size=3000m inactive=600m;
  proxy_temp_path /var/tmp;
  ...
}


http {
 server {
   ...
   location / {
     ...
     proxy_cache one;
     proxy_cache_key sfs$request_uri$scheme;
     ...
   }
   ...
 }
}

缓存是通过http头部来控制的。

helloworld
试验一下,我们来写个helloworld.js

var http = require('http'); 
 
 
http.createserver(function (request, response) { 
  
 response.writehead(200, {'content-type': 'text/plain'}); 
 response.end('hello world\n'); 
}).listen(61337); 
 
 
console.log('server running at http://127.0.0.1:61337/');

然后用node helloworld.js指令开启,这样跑在本地的机子的nodejs的程序就算开起来了,占用的是8000端口,可自己修改。

此时确定在nginx的vhost.conf里面的设置应有:

server { 
  listen 80; 
  server_name jb51.net.jb51.net; 
  location / { 
  proxy_pass http://127.0.0.1:61337; 
  } 
}

将网站域名设置好,然后端口设置为80,最后proxy_pass设置为http://127.0.0.1:61337,将所有从jb51.net:80的请求传递到nodejs程序去。
重启nginx、访问域名,就可以了看到helloworld了。
虽然node.js本身就可以做服务器是没错啦,比如welcome.js里面设置为80端口就可以了。
但是一个机子跑多个网站,其他网站又是用别的服务器,在80端口已经被占用的情况下,是可以用代理到别的端口来处理的。

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

84

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

24

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

35

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

16

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

56

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

16

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

9

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

26

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 8.8万人学习

【web前端】Node.js快速入门
【web前端】Node.js快速入门

共16课时 | 2万人学习

Node.js-前端工程化必学
Node.js-前端工程化必学

共19课时 | 3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号