nginx 搭建负载均衡 动静分离 结合apache tomcat lamp

概念

nginx 负载均衡:提升吞吐率,提升请求性能。提高容灾
nginx 动静分离:通过中间件将动态请求和静态请求进行分离,分离资源,减少不必要的请求消耗,减少请求延时
好处:动静分离后,即使动态服务不可用,但静态资源不会受到影响 通过中间件将动态请求和静态请求分离

准备环境

我个人百度网盘上有需要会用到的软件包
个人网盘地址:链接:

https://pan.baidu.com/s/1jI2wUnf2OufsLNjWPAj0zg

提取码:681j

nginx代理一台(必须有)192.168.59.201
tomcat服务器一台(必须有)192.168.59.202
web服务器两台(任意 apache nginx tomcat 都可以)203

实验步骤

1.部署安装这几台服务器 安装apache tomcat nginx
2.确保安装完成后网页可以访问
3.修改nginx反向代理服务器实现负载均衡
4.默认把防火墙 selinux 关闭一下

分别安装nginx服务、tomcat服务 apache服务
安装nginx服务

2、源代码安装
yum -y install pcre-devel zlib-devel
tar xf nginx-1.18.0.tar.gz
cd nginx-1.18.0
useradd -M -s /sbin/nologin nginx
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && make && make install

echo $?

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
编写nginx的启动脚本

[root@localhost ~]# cat /usr/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=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target
systemctl start nginx
netstat -anput |grep 80

看到nginx服务起来了就可以了

安装tomcat服务

[root@localhost ~]# yum –y install java //安装java环境
[root@localhost ~]# java –version //查看JDK是否安装
部署配置tomcat
[root@localhost ~]# tar zxvf apache-tomcat-8.5.16.tar.gz //解压解包
[root@localhost ~]# mv apache-tomcat-8.5.16 /usr/local/tomcat8 //将解压后的文件移动至/usr/local/
[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh //启动tamcat
[root@localhost ~]# netstat -anpt |grep 8080 //查看监听的端口。tomcat默认运行在8080端口

安装apache服务

直接挂在镜像 用yum安装
yum -y install httpd
systemctl start httpd

配置nginx代理服务器

vi /usr/local/nginx/conf/nginx.conf
使用 upstream 虚拟配置语法
Syntax: upstream name { … }
Default: -
Context: http
例子
upstream xsy {
server 192.168.100.202:80 weight=5;
server 192.168.100.203:80 weight=5; \weight 表示权重 数字越大 权重越高
}
server {
location / {
proxy_pass http://xsy; \注意proxy_pass模块调用时 里面不能有下划线
root /web/benet;
index index.html index.htm;
}
}
1.创建对应 html ⽂件
[root@server ~]# mkdir -p /web/benet/
[root@server ~]# cat /web/benet/index.html

nginx1

nginx1

[root@server ~]# cat /web/benet/index.html

nginx2

nginx2

[root@server ~]# cat /web/benet/index.html nginx3

nginx3

浏览访问看到变化就好了 ### 动静分离 可以直接基于上面的做,大同小异

在这里插入图片描述
就如上图
访问http://192.168.59.201/default static upload
跟不同的名称显示不一样
我设置的默认访问动态页面

结合lamp做动静分离

lamp节点搭建
上传lamp的软件包
[root@real1 ~]# ls
lamp_install_publis-app-2015-07-16.tar.xz
[root@real1 ~]# tar Jxvf lamp_install_publis-app-2015-07-16.tar.xz
[root@real1 ~]# cd bin/
[root@real1 bin]#./apache_install.sh &&./mysql_install.sh &&./mysql_config.sh &&./php_install.sh &&./php_config.sh &&./lamp_config.sh
[root@real1 bin]# cd
[root@real1 ~]# netstat -utpln |grep 80
[root@real1 ~]# netstat -utpln |grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 6693/mysqld
[root@real1 ~]# rm -rf /usr/local/httpd/htdocs/index.html
[root@real1 ~]# vi /usr/local/httpd/htdocs/index.php

<?php session_start(); $_SESSION['time'] =date("Y:m:d:H:s",time()); echo "本次访问时间"." ".$_SESSION['time'].""."
"; echo "访问的服务器地址是"." ".$_SERVER['SERVER_ADDR'].""."
"; echo "访问的服务器域名是"." ".$_SERVER['SERVER_NAME'].""."
"; echo "SESSIONNAME是"." ".session_name().""."
"; echo "SESSIONID是"." ".session_id().""."
"; ?>

客户端访问测试
http://192.168.59.207
在这里插入图片描述
lnmp节点二同上

代理服务器上配置
vi /usr/local/nginx/conf/nginx.conf
在这里插入图片描述
systemctl restart nginx
如有报错 nginx -t差错
重启服务 访问
http://192.168.59.203/index.html
http://192.168.59.203/index.php
在这里插入图片描述
这就nginx 反向代理做 与lamp tomcat apache 负载均衡 及动静分离

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值