一:nginx反向代理与负载均衡配置思路与用法
1、nginx反向代理:就是你去相亲时,媒婆就是这里的代理,让媒婆带你去见姑娘
2、nginx负载均衡:就是有很多的媒婆经过商量给你选出最适合你的姑娘,并且你的优先级可以根据你出的钱多少而定高低
1.1、nginx反向代理主要用到的就是proxy_pass模块,具体用法有两种如下:
1.2、用法1:
server { #server区域,反向代理写在server区域下
listen port 80
server_name axiba.com #让人访问的就是这个域名
location / {
proxy_pass http://192.168.1.219 #实际调用的就是这台服务器的80端口
}
}
1.3、想一想,如果有多台服务器需要代理呢?怎么办,并且多台服务器的性能均不同,承载的业务也不同呢?
1.4、那就需要单独一个目录来写反向代理,如果想实现性能好的主机承载的东西多一些就要配置负载均衡啦!
在nginx.conf 配置文件的最底下的“{”上写入如下代码:
include vhost/*.conf #意思是如果是源码路径是/usr/local/nginx/conf/vhost/目录下识别所有.conf文件
随机起一个文件名,后缀是.conf 即可,代码如下:
server {
listen 80;
server_name axiba.com;
location / {
proxy_pass http://192.168.1.219;
}
}
1.5、如果想实现性能好的机器多干活,万一有一台挂了,能有替补的,就要写负载均衡,负载均衡必须写在server区域外!!!
upstream axiba { #负载均衡的核心也是upstream模块
server 192.168.1.219 weight=1; #weight是定义谁能力强,就多得钱能者多劳嘛(学名权重),权重越高自然就是能力越强咯!
server 192.168.1.218:8080 weight=2;
}
server {
listen 80;
server_name axiba.com;
location / {
proxy_pass http://axiba;
}
}
定义权重后访问域名能跳转即是负载均衡成功,若跳转不了检查server 主机的端口及其后台程序,是否是防火墙阻啦!
1.6、如果想要定义另一个项目(多个域名),则在vhost目录下载创建一个域名为.conf 的文件
server {
listen 80;
server_name axiba.com;
root /home/axiba/; #指定访问的目录或下载的文件