nginx做nodejs(express等通用)反向代理

首先配置环境nginx+nodejs。。。(没有请看我的其他文章,此处不重复)

cd 到nginx的site-available目录 ubuntu的在

cd /etc/nginx/site-available/

创建一个server文件

sudo touch testServer

然后可以copy下面的代码进去了(勤劳的coder可以手写一遍的哦)

http{
    keepalive 65;  #超时
    gzip on; #是否开启压缩模块
    gzip_comp_level 6;  #压缩比例 1-9
    gzip_vary on;  #根据http头判断是否进行压缩
    gzip_min_length 1000; #允许压缩的最小字节数
    gzip_proxied any; #无论后端服务器返回的header是什么,都压缩
    gzip_types text/plain text/html text/css application/json application/x-javascript text/xml application/xhtml application/xml+rss text/javascript image/jpeg image/jpg image/png image/gif; #压缩文件类型 基本全了
    gzip_buffers 16 8k; #向系统申请 以8k为基础的16倍 缓存单元
   upstream my_node_app{    #不清楚的推荐看一下 http://nginx.org/en/docs/ 或者英文不好的可以看大神的文章 http://www.cnblogs.com/taosim/articles/3110626.html 里面有对upstream的详细介绍
        server 127.0.0.1:3000;
        keepalive 64; #超时
    }
    server{
        listen 80;  #监听80端口
        server_name zboy.com;  #设置服务名称
        location / {   #服务是非静态文件,设置nodejs服务的反向代理
            proxy_pass http://my_node_app;
            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 Connection "";
        }

    location ~ ^/(img/|js/|css/|images/|flash/|media/)$ { #如果是静态文件 则劫持处理
            root /home/app/myapp/public;  //your project url
            access_log off;
            expires max;
        }
    }
}

OK文件搞定,但配置还差一步。。。

创建软链接到site-enable文件夹中

sudo ln -s /etc/nginx/site-available/testServer /etc/nginx/site-enable/testServer

然后执行命令

sudo /etc/init.d/nginx reload   /stop-start

此时开启你的nodejs服务 注意端口号设置3000

浏览器打开 http://127.0.0.1

大功告成!~

此处拜读了前辈的文章 地址:http://ourjs.com/detail/nodejs-on-nginx-%E4%BD%BF%E7%94%A8nginx%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E5%A4%84%E7%90%86%E9%9D%99%E6%80%81%E9%A1%B5%E9%9D%A2

时间: 2024-10-29 19:12:23

nginx做nodejs(express等通用)反向代理的相关文章

用Nginx做NodeJS应用的负载均衡

<用Nginx做NodeJS应用的负载均衡> 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 负载均衡可以把用户的请求分摊到多个服务器上进行处理,从而实现了对海量用户的访问支持.负载均衡的架构如图所示: 对于复杂的Web应用来说,用Nginx做前端负载均衡是理所当然的事. 下面,我们用Nginx做NodeJS应用的负载均衡. 1.配置Nginx 修改nginx.conf: .... upstream sample { server 127.0.0.

Nginx做NodeJS应用负载均衡配置实例

这篇文章主要介绍了Nginx做NodeJS应用负载均衡配置实例,本文直接给出配置实例,需要的朋友可以参考下. 负载均衡可以把用户的请求分摊到多个服务器上进行处理,从而实现了对海量用户的访问支持.负载均衡的架构如图所示: 对于复杂的Web应用来说,用Nginx做前端负载均衡是理所当然的事.下面,我们用Nginx做NodeJS应用的负载均衡.1.配置Nginx修改nginx.conf: upstream sample { server 127.0.0.1:3000; server 127.0.0.1

Nginx做为CDN缓存负载均衡代理的配置实现

系统架构: nginx+tomcat+mysql 本文只做Nginx做为CDN缓存负载均衡代理的配置实现的介绍 相关软件: nginx-1.8.1.tar.gz ngx_cache_purge-2.3.tar.gz (用于手动清理缓存) 一.nginx安装 [[email protected] ~]tar -xf nginx-1.8.1.tar.gz [[email protected] ~]tar -xf ngx_cache_purge-2.3.tar.gz -C /usr/local/ngx

Nginx自学手册(四)反向代理和缓存

(一)nginx反向代理 什么是代理服务器 :代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机. 为什么要使用代理服务器 1)提高访问速度 由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门站点能明显提高请求速度. 2)防火墙作用 由于所有的客户机请求都必须通

安装Nginx并为node.js设置反向代理

最近看了反向代理和正向代理的东西,想到自己的node.js服务器是运行在3333端口的,也没有为他设置反向代理,node.js项目的一些静态文件是完全可以部署在Nginx上,以减少对node.js的请求. 着手开始做: 1.Nginx依赖gcc,pcre,zlib,openssl之类的库,通过rpm -qa | grep gcc查询,没有的话都安装上. 2.Nginx安装 准备工作 a) 创建用户nginx使用的www用户.    # groupadd  www  #添加www组       

Nginx学习日记第四篇 -- 反向代理及缓存功能

一.Nginx反向代理 Nginx中的ngx_http_proxy_module模块可以实现后端服务器的反向代理功能,这样就可以实现客户端请求的动静分离以及负载均衡功能.  1.实验场景 Nginx主机作为反向代理服务器将客户端请求发往node1主机web服务器 Nginx主机IP:192.168.0.110 node1主机IP:192.168.0.40    2.Nginx主机配置 grep -Ev "#|^$" server.conf     server {         li

Nginx和Apache服务器上配置反向代理

在实际项目过程中,由于网站要用到一个在线编辑器(个性化的在线编辑软件),需要跨域进行通信!由于跨域通信较多,所以当时就想到在网站服务器上代理编辑软件的请求! 这就是“反向代理”的实际需求! 一.Nginx上配置反向代理 location /edit/ { proxy_pass http://edit.host.net/; #Proxy Settings proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real

使用nginx配置带有权限验证的反向代理

环境:centos6u3 1.安装nginx (1)上传nginx nginx-1.14.0.tar.gz.可以从nginx官网下载http://nginx.org/en/download.html (2)解压 tar zxvf nginx-1.14.0.tar.gz (3)安装依赖包: yum install gcc gcc-c++ glibc automake pcre zlip zlib-devel openssl-devel pcre-devel wget lrzsz (4)配置账号:

docker使用nginx实现ssl(https)反向代理其他容器应用

安装nginx容器 搜索nginx镜像 docker search nginx 拉取最新版nginx docker pull nginx:latest 运行容器 docker run --name=nginx -p 443:443 -v /nginx/conf.d:/etc/nginx/conf.d -d nginx --name=nginx: 容器名称. -p 443:443: 端口进行映射,将本地 443 端口映射到容器内部的 443 端口. -d nginx: 设置容器在在后台一直运行.