LNMT与动静分离

目录

前言

一、简要思路

二、NGINX的配置参考

1、location

2、rewirte

三、动静分离配置(单机配置)

1、Tomcat配置

2、配置NGINX

3、安装mariadb

4、测试

Tomcat8080​编辑

Tomcat8081

访问不存在的页面



前言

LNMT(Linux + Nginx + MySQL + Tomcat)是一种常见的Web应用架构,它由Linux操作系统作为基础,使用Nginx作为反向代理服务器和静态资源服务器,MySQL作为数据库,Tomcat作为应用服务器。

动静分离是一种优化Web应用性能的策略,它将动态内容和静态内容分别处理和分发。在LNMT架构中,Nginx起到了动静分离的作用。

具体而言,Nginx通过配置来区分处理动态请求和静态请求。对于静态请求(如HTML、CSS、JavaScript、图片等),Nginx可以直接处理并返回给客户端,而无需将请求转发给Tomcat应用服务器。这样可以减轻Tomcat的负载压力,并提高静态资源的访问速度。

对于动态请求(如Servlet、JSP等),Nginx会将请求转发给后端的Tomcat应用服务器进行处理,并将处理结果返回给客户端。Nginx作为反向代理服务器可以根据请求的URL或其他规则进行请求的负载均衡,将请求分发给多个Tomcat实例,以实现高可用和提高并发处理能力。

动静分离可以提高Web应用的性能和扩展性,通过将静态资源由Nginx直接提供,可以减轻后端应用服务器的负载,提高响应速度,节省服务器资源。同时,通过Nginx的负载均衡机制,可以将请求分发到多个应用服务器,提高系统的稳定性和可靠性。


一、简要思路

LNMT
    部署tomcat
        单机部署
            分别安装两个tomcat
            在第二个tomcat中修改配置文件server.xmll,所有端口号都更改
    部署nginx
        yum install -y epel-release
        yum install -y nginx
    部署Mariadb
        yum install mariadb-server
    配置Nginx
        实现反向代理

二、NGINX的配置参考

1、location

=  精确匹配
^~ 不用正则的字符串匹配
~ 正则匹配,且区分大小写
~*  不区分大小写的正则匹配
/  任意匹配,无论如何都会满足匹配条件,后面不能有任意字符串

2、rewirte

2.1应用场景:

进行前端的反向代理
新旧域名的更替
防盗链

2,2书写位置
    server
    location
    if条件
    若要匹配后就停止向下匹配,加入break关键字

2.3重写条目写法
    rewirte  “^表达式” 重写路径(可以是本地的访问目录,也可以是远程的URL)

2.4返回状态码: permanent,304 ;redirect,302

2.5示例

location / {

                root html;

                index index.html index.php;

                if ($host = "www.jx.com"){

                        rewrite  ^/(.*)$  http://192.168.115.131/$1 permanent;

                }

三、动静分离配置(单机配置)

本机地址192.168.115.131

1、Tomcat配置

1.1、安装Tomcat网址Apache Tomcat® - Welcome!

####解压
tar -xf apache-tomcat-8.5.16.tar.gz
###将解压后的包放入/usr
mv apache-tomcat-8.5.16 /usr/local/tomcat
###建立软联建
ln -s /usr/local/tomcat/bin/shutdown.sh /usr/bin/cat1down ##停止
ln -s /usr/local/tomcat/bin/startup.sh /usr/bin/cat1up    ##启动
######做完这些准备配置第二台Tomcat
cd /usr/local
cp tomcat tomcat2
######建立Tomcat2的软连接
ln -s /usr/local/tomcat2/bin/shutdown.sh /usr/bin/cat2down ##停止
ln -s /usr/local/tomcat2/bin/startup.sh /usr/bin/cat2up    ##启动
###修改Tomcat2的配置文件修改端口,避免冲突
vim /usr/local/tomcat2/conf/tomcat-users.xml
###分别写入
echo 192.168.115.131:8080 > /usr/local/tomcat/webapps/ROOT/index.jsp
echo 192.168.115.131:8081 > /usr/local/tomcat2/webapps/ROOT/index.jsp
###启动所有Tomcat
cat1up 
cat2up

2、配置NGINX

##安装NGINX
yum -y install epel-release.noarch
yum -y install nginx
##修改配置文件
vim /etc/nginx/nginx.conf
##在server字段插入
upstream tomcat {
                server 192.168.115.131:8080;
                server 192.168.115.131:8081;
        }
##在http字段插入
location ~ \.jsp$ {                                ####这里是jsp
                proxy_pass http://tomcat;
                proxy_set_header  Host $host;
        }
        location / {
                root    /usr/share/nginx/html;
                index   index.html;
        }
##退出保存,重启NGINX服务

3、安装mariadb

##此实验暂时用不到数据库
yum -y install mariadb mariadb-server

4、测试

这是NGINXLNMT与动静分离_第1张图片

Tomcat8080LNMT与动静分离_第2张图片

Tomcat8081

 LNMT与动静分离_第3张图片

 其实这里我没有去换我们的端口,只是访问了Tomcat的动态页面,说明静态页面找NGINX,动态的找Tomcat。这里刷新就会在8081/8082端口来回切换,这里体现了NGINX的负载均衡。

访问不存在的页面

LNMT与动静分离_第4张图片

下面,我们可以在NGINX的配置文件中进行设置可以访问jpg,然后将2张图片放入/usr/local/tomcat/webapps/ROOT并且改名为index.jpg

###修改NGINX的配置文件
vim /etc/nginx/nginx.conf
###修改server字段
 location ~ \.(jsp|jpg)$ {                        ###添加jpg格式
                proxy_pass http://tomcat;
                proxy_set_header  Host $host;
        }
        location / {
                root    /usr/share/nginx/html;
                index   index.html;
        }
##保存退出并重启NGINX

访问刚才不存在的页面,并ctrl+F5深度刷新,他会在8080/8081来回访问

 

你可能感兴趣的:(firefox,前端,linux,服务器,运维)