阿里云

1.登录阿里云选择实例中的 “操作” 或 “远程链接” 即可进入服务器。抛开ssh,Workbench 比 vnc 的操作性更强,界面更友好。

2. 浏览器访问共有ip,否则不能访问。要将实例添加到安全组。

阿里云_第1张图片

 

3.安装nginx nodejs

yum install nginx -> y

yum install nodejs  ->y

4.创建静态文件

eg: 

/root: 

mkdir static

vim index.html  -> 添加静态资源

cd /etc/nginx

vim nginx.config

修改 user nginx -> user root 因为是用root创建的静态文件防止因权限原因不能访问静态文件

修改 静态文件目录 root /root/static  ,动静分离的好处是不使用node输出静态文件,而是使用更强大的反向代理nginx 输出静态文件。

 

至此可以访问网页 http:// 公网ip地址

5. node 访问 与niginx 访问对比

编写index.js

const fs = require('fs');
const http = require('http');
const htmlBuffer = fs.readFileSync(__dirname + './index.html');
http.createServer((req, res)=>{
    res.writeHead(200, {'content-Type': 'text/html'});
    res.end(htmlBuffer)
}).listen(3000)

 

node index.js

然后

curl http://127.0.0.1:3000/index.html

 安装压测工具 ab

yum install httpd-tools -> y

条件 400 并发量,1600 次

node:

ab -c 400 -n1600 http://127.0.0.1:3000/

node 访问 qps 2851 每秒访问量

阿里云_第2张图片

 

 nginx :

ab -c 400 -n1600 http://127.0.0.1:80/index.html

nginx 访问 qps 7653 每秒访问量, nginx 的 瓶颈在网卡,网络带宽的出口量, Transfer rate 基本会占满整个网卡。并发量大会有更大的优势。

阿里云_第3张图片

 那我觉得如果服务端渲染的话,nodejs的服务端渲染会严重拖慢 并发请求。

 6. nginx 代理node服务器,路径解析的计算量提交到nginx 的c++上,这样效率会更高。

1.修改nginx 服务器配置

location ~ /node/(\d*) {
                proxy_pass http://127.0.0.1:3000/detail?columnid=$1;

        }

  

2. 重启nginx ,否则访问 ip/node/123 会 404。

nginx -s reload

 

7. 负载均衡

后端会使用大量源站服务器,集群支持服务。

nginx 设置上游集群,可以设置其它的机器。

 

upstream node.com{
   server 127.0.0.1:3000;
   server 127.0.0.1:3001;  
}

  

 proxy_pass http://node.com/detail?columnid=$1;  

开启2个node 服务器:

 cp index.js index1.js

 

 

 

 

 

 

 

 

你可能感兴趣的:(阿里云)