文档章节

nginx nodejs负载均衡

wisdomofgod
 wisdomofgod
发布于 2015/04/19 18:53
字数 401
阅读 30
收藏 0
点赞 0
评论 0

一:安装nginx

sudo apt-get install nginx

二:启动nginx

sudo /etc/init.d/nginx start

三:查看配置文件

gedit /etc/nginx/nginx.conf

发现 include /etc/nginx/sites-enable/*

server并没有直接在nginx.conf里  配置 (这跟 源代码安装的不同)

源代码安装的 配置文件在 gedit /usr/local/nginx/conf/nginx.conf

并且server配置直接写在了conf文件里


四:找到 /etc/nginx/sites-enable/default

sudo gedit /etc/nginx/sites-enbale/default

把原来默认的 server  用#备注  或者直接删除

添加如下代码:

upstream nodejs {

    server 127.0.0.1:3000;            //可以加上 weight=5;  代表权重  值越大分配比重越大  没有则平均分配

    server 127.0.0.1:3001;

    keepalive 64;

}


server {

    listen 80;                                            //端口号

    server_name localhost 127.0.0.1;     //URL

    access_log /var/log/nginx/test.log;

    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;                

    }

}

五:添加测试文件 http.js

var http = require('http'); 

  

var server1 = http.createServer(function (req, res) { 

 console.log("Request for: " + req.url + "-- port 3000 "); 

 res.writeHead(200, {'Content-Type': 'text/plain'}); 

 res.end('Hello Node.js\n'); 

}).listen(3000, "127.0.0.1"); 

  

var server2 = http.createServer(function (req, res) { 

 console.log("Request for: " + req.url + "-- port 3001 "); 

 res.writeHead(200, {'Content-Type': 'text/plain'}); 

 res.end('Hello Node.js\n'); 

}).listen(3001, "127.0.0.1"); 

  

server1.once('listening', function() { 

 console.log('Server running at http://127.0.0.1:3000/'); 

}); 

  

server2.once('listening', function() { 

 console.log('Server running at http://127.0.0.1:3001/'); 

});

六:运行并生成日记

node http.js>http.log        

七:负载均衡测试

1,安装siege

sudo apt-get install siege

2,启动siege

sudo siege -c 50 http://localhost        //每秒发送50个并发请求

3,运行一段时间  ctrl+c  停止siege

4,查看http.log文件

5,安装R语言 分析http.log

sudo apt-get install r-base-core

6,运行R命令

R

>df<-read.table(file="http.log",skip=9,header=FALSE)

>summary(df)

>q()


负载均衡测试 转自:http://blog.fens.me/nodejs-core-cluster/

© 著作权归作者所有

共有 人打赏支持
wisdomofgod
粉丝 0
博文 31
码字总数 9078
作品 0
厦门
程序员
socket.io搭建分布式web推送服务器

socket.io是目前较为流行的web实时推送框架,其基于nodejs语言开发,底层用engine.io实现。 借助nodejs语言异步的特性,其获得了不错的性能。但单个实例的socket.io依然承载能力有限,最多只...

骨头bone
2014/10/16
0
18
谁说前端需要懂 Nginx 了?

--读《谁说前端不需要懂-Nginx反向代理与负载均衡》有感 读了上文发现内容虽然还是挺好的,但看完,为啥要懂nginx呀,负载均衡和前端哪里有什么半毛钱关系了,没说清楚呀。 当然这个面向前端...

vellengs
06/22
0
0
5个提高Node.js应用性能的技巧

“如果你的 node 服务器前面没有 nginx, 那么你可能做错了。”— Bryan Hughes Node.js 是使用 最流行的语言— JavaScript 构建服务器端应用的领先工具 。由于可以同时提供 web 服务器和应用...

力谱宿云
2016/04/14
324
0
前端技术周刊 2018-06-22:Webpack 生存指南

前端技术周刊 2018-06-22 新闻 生态更新 Nodejs 发布了六月安全更新,建议开发者更新到 10.4.1 版本,包含对 HTTP/2 拒绝服务攻击、TLS 拒绝服务等的预防。 五月底,欧盟的通用数据保护协议 ...

a独家记忆
07/13
0
0
Node.js菜鸟入门HelloWorld。

现在javascript是火到不行了,能干的事情越来越多了,现在根据MVC提出了一种新的WEB的分层模式MVP(Model-View-Presenter)也被人提的蛮多的。MVP主要是想把部分逻辑推到客户端运行,这样也能起...

Line
2014/03/19
0
0
Roosevelt 0.4.8 发布, Node.js 的 Web 框架

Roosevelt 0.4.8 版本支持多核负载均衡,有更好的依赖关系管理,允许在负载均衡工具(比如:pm2)中运行,修复了在标准 Apache 或者 nginx 部署配置上的默认错误页面,修复了在新版 Node.js ...

oschina
2013/12/15
809
0
前端每周清单第 47 期:NPM 年度报告与 2018 展望,Airbnb React Router 实践

前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点;分为新闻热点、开发教程、工程实践、深度阅读、开源项目、巅峰人生等栏目。欢迎关注【前端之巅】微信公...

王下邀月熊
01/15
0
0
Hprose 2.0.0 for Node.js 发布,高性能跨语言RPC

Hprose 2.0.0 for Node.js 终于发布了。这是一个里程碑版本,针对开发者进行了多项改进。 Hprose 2.0 for Node.js 不但比以往任何版本都快。而且还新增了许多特征: 增加了数据推送的支持。 ...

andot
2015/08/11
1K
0
使用PM2运行node.js服务

欢迎关注http://quanke.name/ 转载请注明出处,谢谢 GitHub 地址: https://github.com/Unitech/pm2 官网: http://pm2.keymetrics.io/ 为什么需要使用PM2 因为node.js 是单进程,进程被杀死...

quanke
2017/11/06
0
0
一个简单的nodejs api开发小结

上周接了一个nodejs的小活,写16个api,有登录注册,和对设备,产品,票据的增改删查。 采用了nodejs+express+mysql,其中express第一次使用,作为简单的路由。之前都是自己写路由,远不如e...

yige2002
07/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

什么是Base64

一、什么是Base64? 百度百科中对Base64有一个很好的解释:“Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法”。 什么是...

Jack088
7分钟前
0
0
SQL多表联查leftjoin左边加表单

SELECT IFNULL(u.USER_ACCOUNT, o.USER_ACCOUNT) u.USER_ACCOUNT, o.* FROM gh_orders o LEFT JOIN gh_user u ON o.PARENT_ID = u.ROW_ID 1.假如u.USER_ACCOUNT不空返回u.USER_ACCOUNT,否则返......

森火
11分钟前
0
0
expect脚本同步文件、expect脚本指定host和要同步的文件、构建文件分发系统

expect脚本同步文件 更改权限 执行脚本 查看执行结果 expect eof需要加上,作用是等脚本命令执行完再进行退出 expect脚本指定host和要同步的文件 更改权限,执行脚本 构建文件分发系统 需求背...

Zhouliang6
49分钟前
1
0
Hive应用:外部分区表

Hive应用:外部分区表 介绍 Hive可以创建外部分区表。创建表的时候,分区要在建表语句中体现。建完之后,你不会在表中看到数据,需要进行分区添加,使用alter语句进行添加。然后数据才会显示...

星汉
今天
3
0
点击Enter登录

1. 效果 2. 实现过程(记得引入jq文件) //6.回车事件 登录 $(function() { document.onkeydown = function(event) { var e = event || window.event || arguments.callee.caller.arguments......

Lucky_Me
今天
1
0
点击菜单内容切换

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .menu{ height: 38px; background-color: #eeeeee; line-height: 38px; } .mao{ ......

南桥北木
今天
1
0
OSChina 周六乱弹 —— 妹子和游戏哪个更好玩

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @andonny :分享唐朝乐队的单曲《国际歌》 《国际歌》- 唐朝乐队 手机党少年们想听歌,请使劲儿戳(这里) @举个栗子- :日常祈雨 邪恶的大祭...

小小编辑
今天
613
8
流利阅读笔记32-20180721待学习

“人工智能”造假:只有人工,没有智能 Lala 2018-07-21 1.今日导读 当今社会,擅长单个方面的人工智能已经盛行,手机借助 AI 智慧防抖技术帮助大家拍出清晰照片,谷歌研发的 AI 助手将可以帮...

aibinxiao
今天
10
0
我的成长记录(一)

今天突然精神抖擞,在我的博客下新开一项分类>成长记录,专门记录每隔一段时间我的一点感悟吧。因为今天才专门花时间新开这样一个分类,所以以前有过的一些感悟没有记录下来,现在已经想不起...

dtqq
今天
1
0
机器学习管理平台 MLFlow

最近工作很忙,博客一直都没有更新。抽时间给大家介绍一下Databrick开源的机器学习管理平台-MLFlow。 谈起Databrick,相信即使是不熟悉机器学习和大数据的工程湿们也都有所了解,它由Spark的...

naughty
今天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部