公司最近做聊天类软件,由于用户量大,防止一台崩溃了,就导致全盘崩溃,所以需要多台业务服务器共同运行,但是给前端只能一个url地址,这时候我们就可以用到nginx代理服务器了。
1、安装nginx(linux下的安装)
我没有服务器所以这个是上网搜的,有问题的话,阔以一起讨论哈~
https://blog.youkuaiyun.com/yejiyueshang/article/details/78697224
2、nginx的常用命令:
到nginx的安装目录:
查看版本号:/nginx/sbin/nginx -t
启动nginx:/nginx/sbin/nginx
停止命令:/nginx/sbin/nginx -s stop
重新启动命令:/nginx/sbin/nginx -s reload
查看进程命令:ps -ef | grep nginx
3、如何配置负载均衡?
在安装目录下:/conf/nginx.conf
修改如下:
http {
#gzip on;
#wmsMobile
upstream up_nodes {#设置节点名是up_nodes
server 172.16.31.15:8080;//ip地址1 在端口后面可以加上权重weight 权重越大使用率越高 weight=5
server 172.16.30.32:8080;//ip地址2 所谓轮循:就是这几个地址循环使用
}
server {
listen 80;
server_name 192.168.35.8;//外部访问地址 =》假如这个写成了www.baidu.com也可以运行,这个叫做域名解析
location /{
proxy_pass http://up_nodes;//这个是表示通过‘/’访问的时候,就会访问到up_nodes这个节点
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
//跨域
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
}
}
负载均衡配置:http节点下面创建一个节点 up_nodes,在这节点下面设置多台服务器的地址,也可以设置权重,让其中的服务器访问量更大一点;然后再server节点下面设置访问节点的连接:server_name+listen+location
其中有个问题:多台机器如何实现session共享?
ip_hash:nginx中的ip_hash技术能够将某个ip的请求定向到同一台后端,这样一来这个ip下的某个客户端和某个后端就能建立起稳固的session,ip_hash是在upstream配置中定义的。
修改上传文件的大小配置:https://blog.youkuaiyun.com/longzhoufeng/article/details/79737549