小白带你学习linux的LNMT和动静分离(三十九)

简介: 小白带你学习linux的LNMT和动静分离(三十九)



一、LNMT

L是linux,N是nginx ,M是mariadb,T是tomcat

1、部署tomcat

单机部署

把tomcat的安装包拖进虚拟机解压

进入目录更改tomcat8文件

分别安装两个tomcat

在第二个tomcat8中修改配置文件server.xmll,所有端口号都更改,不能和另一个一样

vim tomcat8/conf/server.xml

启动一下查看一下端口

netstat -naptu |grep Java

多机部署

2、部署nginx

yum install -y epel-release
yum install -y nginx

3、部署Mariadb

yum install mariadb-server

浏览器搜索IP  出现下面页面  ok

cd 到 /usr/local/tomcat8/webapps/ROOT

cd /usr/local/tomcat8/webapps/ROOT/

看到tomcat.Css   这个命令是给upstream  tomcat 排序的 用于定义网页的样式和布局

更改就会向下面一样

4、配置Nginx

实现反向代理

二、Nginx高级配置

1、location

=           精确匹配

^~         不用正则的字符串匹配

~           正则匹配,且区分大小写

~*          不区分大小写的正则匹配

/         任意匹配,无论如何都会满足匹配条件,后面不能有任意字符串

2、rewirte

应用场景

进行前端的反向代理

新旧域名的更替

防盗链

书写位置

server

location

if条件

若要匹配后就停止向下匹配,加入break关键字

重写条目写法

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

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

案例

三、动静分离

1、修改nginx配置文件

这段代码是Nginx的upstream配置,用于配置Tomcat服务器的负载均衡。其中,192.168.28.3:8080和192.168.28.3:8081是两个Tomcat服务器的地址和端口号。Nginx会将请求分配到这两个Tomcat服务器上,以实现负载均衡。

vim /etc/nginx/nginx.conf

upstream tomcat {

server 192.168.28.3:8080;

server 192.168.28.3:8081;

}

location ~ \.jsp$ {

proxy_pass http://tomcat;

proxy_set_header  Host $host;

}

location / {

root    /usr/share/nginx/html;

index   index.html;

}

 

2、重启服务!!!

测试

使用站点不存在的资源进行访问,查看报错信息

http://192.168.28.3/img.jsp

tomcat报错

http://192.168.28.3/img.html

nginx报错

相关文章
|
2天前
|
存储 Linux
Linux的学习之路:16、文件(3)
Linux的学习之路:16、文件(3)
28 0
|
2天前
|
Linux C语言 C++
Linux的学习之路:14、文件(1)
Linux的学习之路:14、文件(1)
25 0
|
2天前
|
Linux 开发工具 C语言
Linux的学习之路:7、yum与git
Linux的学习之路:7、yum与git
15 0
|
2天前
|
Linux 开发工具
Linux的学习之路:5、粘滞位与vim
Linux的学习之路:5、粘滞位与vim
46 0
|
2天前
|
Linux 程序员 计算机视觉
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
15 0
|
2天前
|
自然语言处理 Java Linux
【Linux】开始学习进程替换吧!
通过学习进程替换,我们可以体会到多语言混搭的快乐,可以从C语言直接蹦到python ,也可以从c++里运行java代码。是不是很厉害!这是通过调度多个进程的效果,联系我们之前学习的进程,进程控制等概念。我们可以想要运行其他代码可以通过创建子进程来实现,但是这样也肯定是同一种语言,如果想要运行其他语言,那是不是有种方法可以调度一个进程来当做子进程呢??? 我们开始今天的学习吧!
11 0
|
2天前
|
Ubuntu 算法 Linux
嵌入式Linux的学习误区
该文指出了学习嵌入式Linux开发的两个常见误区。一是过分专注于学习桌面或服务器版Linux,而非关注嵌入式开发本身,实际上只需熟悉基本操作即可。二是试图在没有基础的情况下直接阅读Linux内核源代码,这是不切实际的,应先建立基础知识再进行源码学习。文章还提到了在嵌入式系统中获取和处理屏幕数据的示例,包括使用gsnap工具将framebuffer数据转为图像,以及涉及的交叉编译过程。
11 0
|
2天前
|
编解码 Linux 数据安全/隐私保护
【Linux学习】​​学习Linux的准备工作和Linux的基本指令
【Linux学习】​​学习Linux的准备工作和Linux的基本指令
|
2天前
|
Linux Shell 虚拟化
【Linux学习】Linux 的虚拟化和容器化技术
【Linux学习】Linux 的虚拟化和容器化技术
|
2天前
|
运维 监控 安全
【专栏】11 个 Linux 网络命令学习和熟练运用这些命令是提升网络管理能力的基础
【4月更文挑战第28天】本文介绍了11个必备的Linux网络命令,包括ifconfig、ip、ping、traceroute、netstat、tcpdump、ss、telnet、ftp、ssh和nmap,这些命令在网络配置、故障排查和性能监控中发挥关键作用。通过实例分析,强调了它们在实际工作中的综合应用,帮助运维工程师提升效率和应对网络挑战。学习和熟练运用这些命令是提升网络管理能力的基础。