Linux————LNMT搭建

一、原理

        搭建一个基于Linux系统的Web服务器,使用Nginx作为反向代理服务器,Tomcat作为应用服务器,MySQL作为数据库服务器。

        Linux操作系统        基于Linux的操作系统

        Nginx        Nginx是一款高性能的Web服务器和反向代理服务器,具有负载均衡和反向代理的功能,配置Nginx的虚拟主机和代理规则,将请求转发到后端的Tomcat服务器。

        tomcat        Tomcat是一个开源的Java Servlet容器,用于运行Java Web应用程序,负责处理HTTP请求,并将其转发到相应的Servlet或JSP进行处理。

        MySQL        MySQL是一款常用的关系型数据库管理系统。它支持多用户并发访问,提供了稳定可靠的数据存储和高效的SQL查询。

二、LNMT

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

本次皆采用网络源安装

三、nginx的高级配置

location

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

rewirte

应用场景                    进行前端的反向代理
                                    新旧域名的更替
                                    防盗链
书写位置
                                    server
                                    location
                                    if条件
                                    若要匹配后就停止向下匹配,加入break关键字
重写条目写法
                            rewirte  “^表达式” 重写路径(可以是本地的访问目录,也可以是远程的URL)
返回状态码: permanent,304 ;redirect,302

例如

location / {
                root html;
                index index.html index.php;
                if ($host = "www.jx.com"){
                        rewrite  ^/(.*)$  http://192.168.115.131/$1 permanent;
                }

四、搭建LNMT实现动静分离

环境

nginx IP                192.168.100.3

tomcat1 IP            192.168.100.4

tomcat2 IP             192.168.100.5

MySQL IP               192.168.100.3

关闭防火墙

systemctl  stop firewalld 

systemctl  disable firewalld

关闭他图形化工具

systemctl stop NetworkMassage

systemctl disable NetworkMassage

设置seLinux宽容模式

getenforce 

setenforce 0

vim /etc/selinux/config

SELINUX=disabled

192.168.100.3安装nginx

 yum install -y epel-release

yum install -y  nginx 

192.168.100.4/5安装tomcat 

yum install -y tomcat 

修改配置文件

Tomcat1

cd /usr/share/tomcat/webapps

mkdir ROOT   && cd  ROOT

echo  tomcat1 > index.jsp

Tomcat2

cd /usr/share/tomcat/webapps

mkdir ROOT   && cd  ROOT

echo  tomcat2 > index.jsp

 启动tomcat

systemctl start tomcat 

curl 192.168.100.4:8080

curl 192.168.100.5:8080

 说明tomcat正常运行

nginx

指定到tomcat  ip

vim  /etc/nginx/nginx.conf

upstream tomcat {
                server 192.168.115.131:8080;
                server 192.168.115.131:8081;
        }

location ~ \.jsp$ {
                proxy_pass http://tomcat;

        }

 

 访问测试是否实现负载均衡

 修改nginx配置文件实现动静分离

location ~ \.jsp$ {
                proxy_pass http://tomcat;
                proxy_set_header  Host $host;
        }
        location / {
                root    /usr/share/nginx/html;
                index   index.html;
        }

访问测试

http://192.168.100.3/img.jsp            tomcat报错
http://192.168.100.3/img.html            nginx报错

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/112626.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java自定义捕获异常

需求分析 ElectricalCustomerVO electricalCustomerVO new ElectricalCustomerVO(); electricalCustomerVO.setElcNumber(chatRecordsLog.getDeviceNumber()); List<ElectricalCustomerVO> electricalCustomerlist electricalCustomerMapper.selectElectricalCustomer…

读SQL学习指南(第3版)笔记06_连接和集合

1. 连接 1.1. 笛卡儿积 1.1.1. 交叉连接&#xff08;cross join&#xff09; 1.1.2. 查询并没有指定两个数据表应该如何连接&#xff0c;数据库服务器就生成了笛卡儿积 1.1.2.1. 两个数据表的所有排列组合 1.1.3. 很少会用到&#xff08;至少不会特意用到&#xff09; 1.…

政府科技项目验收全流程分享

科技验收测试 &#xff08;验收申请→主管部门初审→科技厅审核→组织验收→归档备案→信用管理&#xff09;&#xff1a; &#xff08;一&#xff09;验收申请 项目承担单位通过省科技业务管理系统提交验收申请。 按期完成的项目&#xff0c;项目承担单位应当在项目合同书…

自测scRNA-Seq+scWGBS=3分三区文章?

写在前面 最近在捣鼓表观遗传学&#xff0c;处理了一批Bulk RNA-Seq和WGBS(Whole Genome Bisulfite Sequencing)的数据。熟悉我风格的粉丝都知道&#xff0c;我一般会读几篇文献再下手&#xff0c;遂于PubMed中检索了几篇文章&#xff0c;发现一个2022年发表的题为"WGBS …

为什么JVM调优一般都是针对堆内存的,以及堆内存的设置对GC的影响

1、为什么JVM调优一般都是针对堆内存的&#xff1f; 首先JVM的四部分组成&#xff1a;ClassLoader&#xff08;类装载器&#xff09;、Runtime data area 运行数据区、Execution Engine 执行引擎、Native Interface 本地接口。 其中运行数据区&#xff08;Runtime Data Area&am…

python-数据可视化-下载数据-CSV文件格式

数据以两种常见格式存储&#xff1a;CSV和JSON CSV文件格式 comma-separated values import csv filename sitka_weather_07-2018_simple.csv with open(filename) as f:reader csv.reader(f)header_row next(reader)print(header_row) # [USW00025333, SITKA AIRPORT, A…

零知识证明(zk-SNARK)(一)

全称为 Zero-Knowledge Succinct Non-Interactive Argument of Knowledge&#xff0c;简洁非交互式零知识证明&#xff0c;简洁性使得运行该协议时&#xff0c;即便statement非常大&#xff0c;它的proof大小也仅有几百个bytes&#xff0c;并且验证一个proof的时间可以达到毫秒…

C++进阶之继承

继承 继承的概念及定义基类和派生类对象赋值转换继承中的作用域派生类的默认成员函数继承与友元继承与静态成员复杂的菱形继承及菱形虚拟继承继承的总结和反思 继承的概念及定义 在C中&#xff0c;继承是一种面向对象编程的重要概念&#xff0c;它允许一个类&#xff08;称为子…

java-初识Servlet,Tomcat,JDBC

文章目录 前言一、ServletServlet 生命周期Servlet 实例Servlet 过滤器 二、TomcatJDBCJDBC连接数据库实例 总结 前言 java入门须知的重要概念/名词/技术 等 一、Servlet Servlet是Java Web开发中的一个核心组件&#xff0c;它是基于Java语言编写的服务器端程序&#xff0c;…

火热的大模型AIGC对数据中心存储趋势有什么影响?

随着人工智能和大数据技术的不断发展&#xff0c;业内AIGC&#xff08;人工智能、图形处理和云计算&#xff09;和大模型的发展趋势正在对数据中心存储发展方向产生深远的影响&#xff0c;主要集中对数据量和高性能计算的诉求。 大模型的普及要求数据中心存储具备更大的容量。大…

基于Googlenet深度学习网络的螺丝瑕疵检测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ....................................................................................% 获…

踏进字节的那一瞬间,我泪目了,这457天的外包经历值了....

一年半吗&#xff1f;我只记得437个日日夜夜 没有绝对的天才&#xff0c;只有持续不断的付出。对于我们每一个平凡人来说&#xff0c;改变命运只能依靠努力幸运&#xff0c;但如果你不够幸运&#xff0c;那就只能拉高努力的占比。 2021年8月&#xff0c;我有幸成为了字节跳动…

C语言面向对象的编程思想

面向对象编程 面向对象编程Object-Oriented Programming&#xff0c;OOP&#xff09; 作为一种新方法&#xff0c;其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征&#xff0…

MVC OR DDD

MVC OR DDD 说明&#xff1a;这篇是标题党&#xff0c;不包含相关概念说明 前段时间跟随师兄学习了解了DDD领域驱动模型&#xff0c;觉得这个思想更好&#xff0c;进行下面解析和学习方面的思考和实践&#xff0c;觉得很好&#xff0c;耐心读下去。希望对您有所帮助。 首先&am…

基于ADAU1452 DSP ANC和AEC算法的实现

是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?加我微信hezkz17, 本群提供音频技术答疑服务,+群附加赠送,DSP音频项目核心开发资料, 1 使用Sigma中的NLMS算法模块 对应C源代码:

JavaSE 集合框架及背后的数据结构

目录 1 介绍2 学习的意义2.1 Java 集合框架的优点及作用2.2 笔试及面试题 3 接口 interfaces3.1 基本关系说明3.2 Collection 常用方法说明3.3 Collection 示例3.4 Map 常用方法说明3.5 Map 示例 4 实现 classes5 Java数据结构知识体系5.1 目标5.2 知识点 1 介绍 集合&#xf…

如何自己实现一个丝滑的流程图绘制工具(七)bpmn-js 批量删除、复制节点

背景 希望实现批量删除和复制节点&#xff0c;因为bpmn-js是canvas画的&#xff0c;所以不能像平时页面上的复制一样直接选择范围&#xff0c;会变成移动画布。 思路是&#xff1a; 绘制一个选择的效果框&#xff0c;这样才可以看出来选的节点有哪些。 上面的选中范围框效果…

K8S最新版本集群部署(v1.28) + 容器引擎Docker部署(下)

温故知新 &#x1f4da;第三章 Kubernetes各组件部署&#x1f4d7;安装kubectl&#xff08;可直接跳转到安装kubeadm章节&#xff0c;直接全部安装了&#xff09;&#x1f4d5;下载kubectl安装包&#x1f4d5;执行kubectl安装&#x1f4d5;验证kubectl &#x1f4d7;安装kubead…

Go死码消除

概念: 死码消除(dead code elimination, DCE) 是一种编译器优化技术, 作用是在编译阶段去掉对程序运行结果没有任何影响的代码 和 逃逸分析[1],内联优化[2]并称为 Go编译器执行的三个重要优化 效果: 对于 const.go代码如下: package mainimport "fmt"func max(a, b i…

wireshark过滤器的使用

目录 wiresharkwireshark的基本使用wireshark过滤器的区别 抓包案例 wireshark wireshark的基本使用 抓包采用 wireshark&#xff0c;提取特征时&#xff0c;要对 session 进行过滤&#xff0c;找到关键的stream&#xff0c;这里总结了 wireshark 过滤的基本语法&#xff0c;…