2.3搭建nigix环境

一、介绍环境的基础介绍

1、什么是JDK?JDK的作用?

JDK是java语言的软件开发工具包,能解释java程序,编译java语言,没有jdk的话无法编译Java程序。

包含了各种类库和工具,机器不是直接识别语言的,会借助工具的编译器,可以理解为翻译官,将一门语言翻译为机器可以识别的语言,Jdk能对Java进行编译,我们的工具才能识别Java语言 ,

jdk就是一款语言编译工具,Tomcat 是基于Java语言编写的

2、apache-tomcat java应用服务器的目录

(1)bin目录:

bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)

(2)conf目录:

conf目录主要是用来存放tomcat的一些配置文件

server.xml可以设置端口号、设置域名或IP、默认加载的项目、请求编码

web.xml可以设置tomcat支持的文件类型

context.xml可以用来配置数据源之类的

tomcat-users.xml用来配置管理tomcat的用户与权限

(3)

lib目录:

lib目录主要用来存放tomcat运行需要加载的jar包。

例如,像连接数据库的jdbc的包我们可以加入到lib目录中来。

(4)

logs目录:

logs目录用来存放tomcat在运行过程中产生的日志文件,非常重要的是在控制台输出的日志。(清空不会对tomcat运行带来影响)

在linux环境中,控制台的输出日志在catalina.out文件中(重点)

(5)

temp目录:

temp目录用户存放tomcat在运行过程中产生的临时文件。(清空不会对tomcat运行

带来影响)

(6)

webapps目录:(在项目部署中非常重要)

webapps目录用来存放应用程序,当tomcat启动时会去加载webapps目录下的应用程

序。以文件夹、war包、jar包的形式发布应用。

也可以把应用程序放置在磁盘的任意位置,在配置文件中进行映射

(7)

work目录:

work目录用来存放tomcat在运行时的编译后文件,例如JSP编译后的文件。

清空work目录,然后重启tomcat,可以达到清除缓存的作用。

4、其他知识点:

查看tomcat服务器进程和启动情况 ps -ef |grep tomcat

在bin目录下启动tomcat命令: sh startup.sh或者./startup.sh

在bin目录下关闭tomcat命令: sh shutdown.sh

在浏览器输入如下网址

http://192.168.XX.XX:8080

http代表的是:采用的是超文本传输协议

192.168.XX.XX是:Linux系统的IP地址(因为测试环境是在Linux上面搭建的)

8080是:tomcat的默认端口号(因为项目是用tomcat服务器部署的)

5、linux服务器中日志的错误级别?(日志级别)

日志级别
日志一共分成5个等级,从低到高分别是:
DEBUG
INFO
WARNING
ERROR
CRITICAL
说明:
DEBUG:详细的信息,通常只出现在诊断问题上
INFO:确认一切按预期运行
WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。
ERROR:更严重的问题,软件没能执行一些功能
CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行
这5个等级,也分别对应5种打日志的方法: debug 、info 、warning 、error 、critical。默认的是WARNING,当在WARNING或之上时才被跟踪。

6、tomcat、nginx和apache服务器的定义和区别

Apache是应用服务器:对于静态网页的支持是Apache的强项,但像php,cgi,jsp等

动态网页一般就需要Tomcat来处理;由于Tomcat本身也内含了一个HTTP服务器,

它也可以被视作一个单独的Web服务器,但是,不能将 Tomcat 和 Apache Web 服务器混淆,

Apache Web Server 是一个用 C 语言实现的 HTTP web server;

Apache,nginx,tomcat并称为网页服务三剑客。

Tomcat是Java应用服务器:它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。

Nginx是轻量级的HTTP服务器:它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器

7、

(1)apache和tomcat的对比

相同点:

两者都是Apache组织开发的

两者都有HTTP服务的功能

两者都是免费的

(2)不同点:

Apache是Web服务器,Tomcat是应用(

Java)服务器

如果客户端请求的是静态页面,一般需要Apache服务器响应请求

如果客户端请求动态页面,则是Tomcat服务器响应请求。

可以理解Tomcat为Apache的一种扩展。

(3)apache、nginx和tomcat的优势比较

(一)Apache优点:相对于Tomcat服务器来说处理静态文件是它的优势,速度快。

Apache是静态解析,适合静态HTML、图片等

(二)

Nginx优点:负载均衡、反向代理、处理静态文件优势。nginx处理静态请求的速度高于apache和tomcat。Nginx有动态分离机制,静态请求直接就可以通过Nginx处

理,动态请求才转发请求到后台交由Tomcat进行处理

(三)

Tomcat:动态解析容器,处理动态请求,tomcat处理动态请求的速度高于apache和nginx,是编译JSP\Servlet的容器

(四)

在日常工作中:

nginx一般用来做前端应用服务器

tomcat会用来做后端的java应用服务器

8、

什么是静态请求?(请求的是静态资源)

静态资源:指存储在本地硬盘内的数据,固定的数据,不需要计算的数据。

如:图片、字体、js文件、css文件等等。在用户访问静态资源时,服务器会直接将这些资源返回到用户的计算机内
 

9、什么是动态请求?(请求的是动态资源)

动态资源:指需要服务器根据用户的操作所返回的数据,以及存储在数据库的数据,经过一系列逻辑计算后返回的数据。动态请求一般都需要去请求数据库。

如:请求明天的天气信息数据、请求查看账户余额

10、Nginx服务器相关的功能如下:

Nginx的动静态分离机制功能:将一个请求中动态请求和静态请求分离出来

Nginx的正向代理服务器的功能

Nginx的反向代理服务器的功能

Nginx的负载均衡功能

(一)动静态分离

nginx服务器动静态分离机制原理解释:

nginx是一个服务器,所有的请求都先请求到nginx,然后再由nginx对内网进行请求的分发到tomcat,然后tomcat处理完请求后将数据发送给nginx,然后

由nginx发送给用户,整个过程对用户的感觉就是nginx在处理用户请求。nginx请求分离需要进行配置,配置文件是conf文件夹下的nginx.conf文件中,

进行静态请求与动态请求的分离。

Tomcat应用服务器是用来处理Servlet容器和JSP的,虽然它也可以处理HTML等等一系列静态资源,但是效率不如Nginx,当用户访问静态资源时,让Nginx

将静态资源返回给用户;当用户访问动态资源时,将访问转到Tomcat应用服务器上,Tomcat将数据返回给Nginx,Nginx再返回给用户。

11、

Nginx的正向代理服务器

Nginx的正向代理服务器

1、正向代理代理的是客户端

2、服务器并不知道用户的存在

12、

Nginx的反向代理服务器

Nginx的反向代理服务器

1、反向代理代理的是服务器(千万用户访问百度,由服务器A分发请求)

2、用户向服务器A发起请求,然后由服务器A去分发请求给到服务器B和服务器

C进行处理,用户并不知道是IP地址为多少的哪台服务器在处理自己的请求

13、

Nginx的负载均衡

什么是负载均衡呢?就是我的项目部署在不同的服务器上,但是通过统一的域名进

入,nginx则对请求进行分发,减轻了服务器的压力。 

Nginx的负载均衡

优点就是:可以减少服务器的压力,将原本一台服务器所要承受的访问量分给了多台,并提高了项目的可用性,当一台服务器挂掉的时候也不会导致整个项目瘫痪。

nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至 tomcat服务器。 

=====================================

多有米项目相关面试题

1、请简述多有米环境的搭建、用到了哪些工具和流程介绍

2、查看当前端口被哪个应用程序占用了

3、Tomcat和Nginx的区别,nginx有哪些优点?

4、日志的级别有几种?

5、怎么查看实时日志? 在哪个目录下面?用的什么命令查看?如果报错的日志太多你是怎么去定位的?怎么去找到报错日志的?

6、Tomcat的启动命令和Tomcat的端口号在哪里修改?

7、jdbc你怎么了解的? 全称是什么?
 

8、数据库当中怎么不区分大小写?

9、你们公司的测试环境是由谁搭建的?

10、搭建测试环境的工具有哪些?

11、jdk是什么,有什么作用?

12、你们公司的测试环境是基于什么系统搭建的?

13、帮我解释一下webapps是什么?webapps目录下面存放的东西是什么?

14、http和HTTPS是什么?各自的端口号是什么?

15、nginx的端口号在哪个文件里面修改?为什么访问多有米前后台的服务器ip地址和访问mysql数据库的服务器ip地址是一致的?

16、Tomcat的默认端口号是多少?nginx的默认端口号是什么?mysql的默认端口号是多少?假如端口号80、8080、3306被占用了怎么办?用什么命令进行

查看?怎么去结束这进程?

17、mysql数据库的配置文件存放在哪里?

18、什么叫动态资源?什么叫静态资源?

19、nginx web应用服务器有哪些优点?

你用nginx做过代理服务器吗?

nginx的动静态分离机制和负载均衡功能可以详细的介绍一下吗?

20、对nginx的正向代理和反向代理有了解过吗?

21、你们公司的服务器一般是怎么进行配置的?

22、假如你在前端页面点击一个搜索按钮的时候,有弹框提示:系统异常,这个时候你应该怎么去定位和分析这个问题?看日志怎么去看?

23、你们公司有多少张表?能说出常用的几张表的名字吗?和表里面的具体的一些字段的名字?

为Harbor主从搭建Nginx反向代理的步骤如下: 1. 在主节点和备节点上安装Nginx和Keepalived。 2. 在主节点上配置Nginx反向代理,将请求转发到Harbor主节点。 3. 在备节点上配置Nginx反向代理,将请求转发到Harbor备节点。 4. 在主节点和备节点上配置Keepalived,实现主备切换。 具体步骤如下: 1. 在主节点和备节点上安装Nginx和Keepalived。 可以使用以下命令安装: ``` yum install nginx keepalived -y ``` 2. 在主节点上配置Nginx反向代理,将请求转发到Harbor主节点。 2.1 编辑Nginx配置文件: ``` vim /etc/nginx/nginx.conf ``` 2.2 在http块中添加以下内容: ``` upstream harbor { server <Harbor主节点IP>:<Harbor端口>; } server { listen 80; server_name <Nginx服务器IP>; location / { proxy_pass http://harbor; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 2.3 保存并退出文件,重新加载Nginx配置文件: ``` nginx -s reload ``` 3. 在备节点上配置Nginx反向代理,将请求转发到Harbor备节点。 3.1 编辑Nginx配置文件: ``` vim /etc/nginx/nginx.conf ``` 3.2 在http块中添加以下内容: ``` upstream harbor { server <Harbor备节点IP>:<Harbor端口>; } server { listen 80; server_name <Nginx服务器IP>; location / { proxy_pass http://harbor; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 3.3 保存并退出文件,重新加载Nginx配置文件: ``` nginx -s reload ``` 4. 在主节点和备节点上配置Keepalived,实现主备切换。 4.1 编辑Keepalived配置文件: ``` vim /etc/keepalived/keepalived.conf ``` 4.2 在vrrp_script块中添加以下内容: ``` vrrp_script chk_nginx { script "/usr/bin/curl --silent --fail http://localhost:80/" interval 3 weight 2 } ``` 4.3 在vrrp_instance块中添加以下内容: ``` vrrp_instance VI_1 { state MASTER/BACKUP interface eth0 virtual_router_id 51 priority 101/100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { <Nginx虚拟IP> } track_script { chk_nginx } } ``` 4.4 保存并退出文件,重新加载Keepalived配置文件: ``` systemctl restart keepalived ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值