LN(A)MT单机版架构部署

部署Tomcat、httpd及nginx架构

架构图:

1、standalone模式,Tomcat单独运行,直接接受用户的请求,不推荐。

2、反向代理,单机运行,提供了一个Nginx作为反向代理,可以做到静态有nginx提供响应,动态jsp代理给

Tomcat

LNMT:Linux + Nginx + MySQL + Tomcat
LAMT:Linux + Apache(Httpd)+ MySQL + Tomcat

3、前置一台Nginx,给多台Tomcat实例做反向代理和负载均衡调度,Tomcat上部署的纯动态页面更适合

LNMT:Linux + Nginx + MySQL + Tomcat

4、多级代理

LNNMT:Linux + Nginx + Nginx + MySQL + Tomcat

实战一:实现单机版LNMT(用法极少)

1、实现nginx单机版转发到后端tomcat服务上

1、主机安装nginx  

[root@openstack-2 ~]# yum install nginx -y

2、配置nginx服务

  #vim /etc/nginx/nginx.conf  
       location / {
           proxy_pass  http://node1.baidu.com:8080;
        }

3、配置tomcat服务

[root@centos-7 ROOT]# vim /usr/local/tomcat/conf/server.xml

      </Host>
     <Host name="node1.baidu.com" appBase="/data/webapps/" unpackWARs="True" autoDeploy="false" />   #指定域名和要访问的文件路径
    </Engine>

4、创建一个访问文件的目录,并在指定的目录下创建ROOT目录:  

[root@centos-7 ROOT]# mkdir /data/webapps//ROOT -p

5、修改/data/webapps/ROOT目录下的文件,修改为自己要访问到的页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
        <meta charset="utf-8">
        <title>jsp例子</title>
</head>
<body>
node1.baidu.com-index.jsp 后面的内容是服务器端动态生成字符串,最后拼接在一起  #修改此处的域名地址
<%
out.println("hello jsp");
%>
</body>
</html>

启动nginx服务和tomcat服务

# nginx   #启动nginx服务
# cd /usr/local/tomcat/webapps  #切换到此目录下
# bin/startup.sh  #启动tomcat服务

6、在本地hosts配置文件中将IP地址进行域名解析为node1.baidu.net:C:WindowsSystem32driversetc目录下修改

  

7、测试访问效果:  

 

 2、在nginx实现动静分离

1、修改nginx服务的配置文件

# vim  /etc/nginx/nginx.conf
        location / {
            root /data/webapps/ROOT;  #静态文件
            index index.html;
        }


        location ~* .(jsp|do)$ {
            proxy_pass http://node1.baidu.com:8080; #转发到动态文件
        }

2、在/data/webapps/ROOT目录下创建一个index.html和index.jsp文件,实现动静分离

动态文件

#vim /data/webapps/ROOT/index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
        <meta charset="utf-8">
        <title>jsp例子</title>
</head>
<body>
node1.baidu.com-index.jsp 后面的内容是服务器端动态生成字符串,最后拼接在一起
<%
out.println("hello jsp");
%>
</body>
</html>

静态文件

#vim  /data/webapps/ROOT/index.html
nginx d s sep

3、重新加载nginx服务

# nginx  -s reload

4、测试页面效果

静态效果

动态效果

 

 实战二:实现httpd与tomcat的反向代理

1、安装httpd服务

# yum install httpd  -y

2、配置httpd服务:proxy_http_module模块代理配置

vim  /etc/httpd/conf.d/vhosts.conf

<VirtualHost *:80>
     ServerName node1.baidu.com
     ProxyRequests Off
     ProxyVia Off
     ProxyPreserveHost On
     ProxyPass / http://127.0.0.1:8080/
     ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>

 ProxyRequests:Off关闭正向代理。

 ProxyPass:反向代理指令

 ProxyPassReverse:保留代理的response头不重写(个别除外),最好关闭

 ProxyPreserveHost:On开启。让代理保留原请求的Host首部,这一项至关重要

 ProxyVia:On开启。代理的请求响应时提供一个response的via首部

3、配置tomcat服务

[root@centos-7 ROOT]# vim /usr/local/tomcat/conf/server.xml

      </Host>
     <Host name="node1.baidu.com" appBase="/data/webapps/" unpackWARs="True" autoDeploy="false" />   #指定域名和要访问的文件路径
    </Engine>

4、创建一个访问文件的目录,并在指定的目录下创建ROOT目录:  

[root@centos-7 ROOT]# mkdir /data/webapps//ROOT -p

5、修改/data/webapps/ROOT目录下的文件,修改为自己要访问到的页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
        <meta charset="utf-8">
        <title>jsp例子</title>
</head>
<body>
node1.baidu.com-index.jsp 后面的内容是服务器端动态生成字符串,最后拼接在一起  #修改此处的域名地址
<%
out.println("hello jsp");
%>
</body>
</html>

6、启动tomcat和httpd服务

#systemctl start httpd
# cd /usr/local/tomcat/webapps/
# bin/startup.sh

7、测试页面

域名访问还会访问此页面

IP地址去访问,就只能跳转至主页,因为代理的host的IP地址没有指定的目录,所以只能是本地的网页

 

实现ajp与tomcat互连

1、修改httpd配置文件:proxy_ajp_module模块代理配置 

vim  /etc/httpd/conf.d/test.conf

<VirtualHost *:80>
   ServerName node1.baidu.com
   ProxyRequests Off
    ProxyVia Off
    ProxyPreserveHost On
    ProxyPass / ajp://127.0.0.1:8009/
</VirtualHost>

2、重启httpd服务:systemctl  restart httpd

3、测试访问效果

  

 

  

  

  

  

 

 

  

原文地址:https://www.cnblogs.com/struggle-1216/p/12182380.html