Nginx与servlet的静态部署

一.nginx

1.什么是Nginx

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器

是一款轻量级的web服务器反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,中国大陆使用nginx网站用户有:百度、京东,新浪,网易,淘宝等。

2.Nginx的配置块

到Nginx的目录文件下找到conf目录下的的配置文件nginx.conf,

nginx的配置文件(conf/nginx.conf)整体上分为三部分:

全局块:配置和nginx运行相关的全局配置

events块:配置和网络连接的相关配置

http块:代理,缓存,日志记录,虚拟主机的配置(我们常常配置的地方)

在http块中可以包含多个server块,每个server块可以配置多个location块。

image-20231011201543096

3.Nginx静态部署教程:

本文以宝塔安装Nginx举例说明

nginx可以作为静态web服务器来部署静态资源。这里所说的静态资源是指在服务端真实存在,并且能够直接展示的一些文件,比如常见的html页面、css文件、js文件、图片、视频等资源。

相对于Tomcat,Nginx处理静态资源的能力更加高效,所以在生产环境下,一般都会将静态资源部署到Nginx中。

1.安装:宝塔软件商店安装

2.配置文件

到达Nginx的根目录下以后,可以新建一个目录用来存放你的conf配置文件,这里我建的是product,这里注意;

image-20231011202926890

进入到目录以后,新建一个配置文件,这里是配置的说明

 server {
    listen 80;                #监听端口    
    server_name localhost;    #服务器名称
    location / {            #匹配客户端请求url
        root html;            #指定静态资源根目录
        index index.html;    #指定默认首页
    }
}

image-20231011203208967

这个地方root 目录可以选择你的项目目录,图中为例,index是入口文件,也就是你的HTML主页

3.引入config配置文件

配置完后需要到nginx的config配置文件下nginx.conf引入这个配置文件,此处指的是加载该目录下的所有.conf结尾的文件

include /www/server/nginx/conf/product/*.conf;

image-20231011203552898

之后,访问你的服务器名称+端口就能发现你的主页了

二.servlet

1.什么是servleet

tomcat是一个中间件,在B/S架构中,浏览器发出的http请求经过tpmcat中间件,转发到最终的目的服务器上,响应消息再通过tomcat返回给浏览器。

作用:开启监听端口监听用户的请求,解析用户发来的http请求然后访问到你指定的应用系统,然后你返回的页面经过tomcat返回给用户

通常:Nginx用于处理静态资源, tomcat用来处理动态资源。

2.本地部署:

1.安装后解压到任意位置

2.启动服务

到解压后的目录,进入到bin目录下

image-20231012195332903

3.执行start.bat,启动服务

image-20231012195506609

4.启动成功

注意启动成功以后不要退出界面

image-20231012195545376

打开浏览器在,在浏览器的地址栏中输入:

http://127.0.0.1:8080/

http://localhost:8080/

image-20231012195646756

5.退出服务器

  1. 直接关闭 tomcat 启动窗口

  2. tomcat 目录下 bin 目录,查找其中的 shutdown.bat 命令,双击关闭服务器

3.常见问题

1.无法启动(闪退:cmd命令窗口出现一下,就消失)

主要原因:没有配置JAVA_HOME环境变量。 JAVA_HOME 环境变量 中配置的是JDK的安装目

录,不包含bin目录,不是tomcat的安装目录。

闪退的原因查看:打开cmd执行;在 startup.bat 文件末尾书写 pause 命令。让运行的窗口暂停

也就是说jdk和tomcat的环境变量两者至少有一个,有jdk不配置tomcat也可以,反正可以手动启动

2.端口被占用导致启动失败

如果启动的时候,发生异常问题,这时有可能是端口被占用。

Tomcat服务器在启动的时候默认占用本地的8080端口,如果这个端口被占用,启动的时候

就会报错。

闪退原因也可能是其他的原因,具体可以到询 tomcat 目录下的 logs 目录中 Catalina.当前系统年月日.log 文件查

看:

image-20231012200244124

此处可能会遇到闪退的问题,

解决方式:

  1. 结束当前占用此端口的进程(之前讲过,使用 netstat -ano 命令,然后找到进程并结束掉)

  2. 修改 tomcat 端口

到 tomcat 目录下的 conf 目录( tomcat 的配置文件都在此文件夹下),找到 serve

r.xml 文件,打开。

server.xml:服务器端口配置、服务器自身配置文件

image-20231012200501318

3.cmd窗口乱码

这里提供解决方案,但是不建议修改,因为没什么用,反正后期使用也不会在这里使用

image-20231012200556913

4.配置文件image-20231012200957235

5.使用虚拟路径发布

1.添加content

配置server.xml,添加context标签

在· tomcat/conf/server.xml 中找到 节点,添加 标签,如图所示:

image-20231012201633185

<!-- path是浏览器访问地址, docBase是磁盘地址 -->
<Context docBase="D:\temp" reloadable="true" path="/files" />

重启 tomcat 服务后,浏览器访问: http://localhost:8080/files

之后就可以在浏览器访问到了