nginx做nodejs(express等通用)反向代理
Posted 沉睡的码农
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
大功告成!~
以上是关于nginx做nodejs(express等通用)反向代理的主要内容,如果未能解决你的问题,请参考以下文章
NodeJS+Express+MongoDB 简单个人博客系统Study笔记
如果我可以只用 nodejs 本身做所有事情,我为啥要使用 Express? [关闭]
使用 Apollo Express、Nginx 和 docker-compose 保护 websocket