多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## Ngin反向代理 静态分离 尽管Node.JS的性能不错,但处理静态事务确实不是他的专长,如:gzip编码,静态文件,HTTP缓存,SSL处理,负载平衡和反向代理及多站点代理等,都可以通过nginx来完成,从而减小node.js的负载,并通过nginx强大的缓存来节省您网站的流量从而提高网站的加载速度。 虽然node.js也有一些如http-proxy的代理模块可以实现一台服务器上面架设多个网站(每个域名映射到不同nodejs进程的端口),但这种基础性的工作,其实更应该交给ngnix来完成。 ## 不啰嗦直接上配置文件 1.安装nodejs,之前就安装了。 2.安装nginx ,我采用的直接源码安装 3.进入 /usr/local/nginx/conf 目录,在该目录下创建vhost 文件下,我的配置文件就写在这个文件夹里面 4.进入 /usr/local/nginx/conf/vhost 目录,创建 youdomain.conf 文件,在里面输入如下代码: ~~~ upstream hostname { server 127.0.0.1:8111; #nodejs的端口 #server 127.0.0.1:3001;#如果有负载均衡,可以用这个。 keepalive 64; } server { listen 80; server_name youdomain.com;#你的域名 access_log /var/log/nginx/youdomain.log;#你的日志文件,这个得自己创建,或者换成 off。 # 拦截静态文件由nginx处理 location ~ ^/(upload/|static/|robots.txt|favicon.ico) { root /web/cmswing/www; #静态文件目录 access_log off; expires 7d; 静态文件在客户端存储时间 一般为7天 } 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://hostname; } } ~~~ 5.进入/usr/local/nginx/conf ,打开nginx.conf, 在http 最后的`}`前面添加 include ~~~ include vhost/*.conf; ~~~ 6.重启nginx , 输入 ~~~ /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ~~~ 如果是线上生产环境,要把src/commo/config/env/production.js 里面修改resource_on为true。 ~~~ export default { resource_on: true }; ~~~