upstream 负载均衡 在第七层 nginx处理静态页面的效率远远高于tomcat 所以采用动静分离 可以提高处理效率 nginx负责处理静态 tomcat处理动态
负载均衡的六种模式
1.rr 轮询
2.加权轮询
3.哈西算法 根据哈西值来运算 使用频率很少
4.最少链接 假如有一台轮询的机器出故障 就会轮询到链接次数最小的机器身上
下面来做nginx负载均衡+动静分离实验
1.首先安装一台nginx虚拟机
①关防火墙核心防护
②把nginx安装包拖到/opt目录下面
③安装依赖包 yum -y install pcre-devel zlib-devel gcc gcc-c++ make
④创建运行用户、组(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)
useradd -M -s /sbin/nologin nginx
⑤编译安装Nginx
cd /opt
tar zxvf nginx-1.12.2.tar.gz -C /opt/
cd nginx-1.12.2/
./configure \
--prefix=/usr/local/nginx \ #指定nginx的安装路径
--user=nginx \ #指定用户名
--group=nginx \ #指定组名
--with-http_stub_status_module #启用 http_stub_status_module 模块以支持状态统计
操作
--with-file-aio \ #启用文件修改支持
--with-http_gzip_static_module #启用gzip静态压缩
--with-http_ssl_module #启用ssl模块,提供ssl加密功能
--with-stream #启用stream模块,提供四层调度
make && make install
⑥ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #让系统识别nginx的操作命令
⑦添加 Nginx 系统服务
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
⑧chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service
2.安装第一台tomcat
①把jdk和tomcat安装包拖到/opt目录下
关闭防火墙核心防护 解压两个安装包 mv把两个解压后的目录剪切到/usr/local下面
vim /etc/profile 在最后一行加入
export JAVA_HOME=/usr/local1/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存并退出 source /etc/profile 刷新 java -version查看一下