【JavaWEB】Nginx&Tomcat

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第13天,点击查看活动详情
个人主页:HelloCode.
本文专栏:Java零基础指南
如果您觉得手机APP排版不美观,建议使用浏览器打开
阅读如有问题,欢迎指正,一起进步~~


Nginx

概述

  • Nginx是一款服务器软件

  • 其核心功能是可以和服务器硬件相结合,从而可以将程序发布到Nginx服务器上,让更多用户浏览

安装

  1. 上传压缩包:put nginx压缩包位置(CRT中按alt+p键进入sftp)

  2. 解压压缩包:tar -zxvf 压缩包名

  3. 进入解压目录:cd nginx解压目录

  4. 安装依赖环境

    yum -y install pcre pcre-devel

    yum -y install zlib zlib-devel

    yum -y install openssl openssl-devel yum -y install gcc

  5. 安装nginx

    ./configure

    make

    make install(安装完会在/usr/local/下有一个nginx目录)

  6. 进入对应目录:cd /usr/local/nginx/sbin

  7. 启动nginx服务:./nginx

    停止:./nginx -s stop

    重启:./nginx -s reload

  8. 查看nginx服务状态:ps -ef | grep nginx

  9. 测试nginx服务:浏览器打开对应Linux服务器ip地址

最后这里在浏览器打开对应ip地址无法访问,解决方法:

第一步,对80端口进行防火墙配置:firewall-cmd --zone=public --add-port=80/tcp --permanent

第二步,重启防火墙服务:systemctl restart firewalld.service

然后重新在浏览器中访问你的ip,应该就可以访问了。

发布项目

  1. 在*/home*下创建一个web目录:mkdir web

  2. 将项目上传到该目录下:put web项目压缩包

  3. 解压项目压缩包:unzip web程序压缩包

  4. 编辑nginx配置文件:vim /home/nginx-1.18.0/conf/nginx.conf

    找到server的大括号范围,修改location的路径

nginx发布项目.png

  1. 进入对应目录:cd /usr/local/nginx/sbin

  2. 关闭nginx服务:./nginx -s stop

  3. 启动nginx服务并加载配置文件:/usr/local/nginx/sbin/nginx -c/home/nginx-1.18.0/conf/nginx.conf

  4. 通过浏览器测试网站


企业开发简介

JavaEE规范

  • JavaEE(Java Enterprise Edition):Java企业版

  • 它是由SUN公司领导、各个厂家共同制定并得到广泛认可的工业标准。

  • JavaEE早期叫做J2EE,但是没有继续采用其命名规则。J2EE的版本从1.0开始到1.4结束。而JavaEE版本是从JavaEE 5 版本开始,目前最新的版本是JavaEE 8。

  • JavaEE规范是很多Java开发技术的总称。这些技术规范都是沿用自J2EE的。一共包括了13个技术规范。

  • 包括:JDBC, JNDI, EJB, RMI, IDL/CORBA, JSP, Servlet, XML, JMS, JTA, JTS, JavaMail, JAF。

WEB概述

概述

  • WEB在计算机领域中代表的是网络

  • 像我们之前所用的WWW,它是World Wide Web 三个单词的缩写,称为:万维网

  • 网络相关技术的出现是为了让我们在网络的世界中获取资源,这些资源的存放之处,我们把它叫做网站

  • 我们通过输入网站的地址(网址),就可以访问网站中提供的资源(不区分局域网或广域网)

资源分类

  • 静态资源

    网站中提供给人们展示的资源是一成不变的,也就是说不同人或者在不同时间,看到的内容都是一样的。

    作为开发者来说,我们编写的HTML, CSS, JavaScript 都属于静态资源。

  • 动态资源

    网站中提供给人们展示的资源是由程序产生的,在不同的时间或者不同的人由于身份的不同,所看到的内容是不一样的。

    作为网站开发者来说,我们编写的JSP、Servlet等都属于动态资源。

系统结构

在之前的学习中,开发的都是Java工程。这些工程在企业中称之为项目或者产品。都是有系统架构的!

  • 基础结构划分

    CS结构:(Client Server)客户端+服务器的方式(把不同的应用直接安装在客户端上)

    BS结构:(Browser Server)浏览器+服务器的方式

  • 技术选型划分

    Model1模型

    Model2模型

    MVC模型

    三层架构 + MVC模型

  • 部署方式划分

    一体化结构

    垂直拆分结构

    分布式结构

    微服务结构


tomcat

服务器

  • 服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如PC机、智能设备等)提供计算或者应用服务。 服务器具有高速的CPU运算能力、长时间的可靠运行、强大的I/O外部数据吞吐能力以及更好的扩展性。

  • 而我们这里所说的服务器,其实是web服务器,或者应用服务器。它本质就是一个软件,通过和硬件相结合,从而达到帮助我们来发布应用的功能,让用户通过客户机访问我们的应用。

  • 常用的应用服务器

    服务器名称 说明
    weblogic 实现了JavaEE规范,重量级服务器,又称为JavaEE容器
    websphereAS 实现了JavaEE规范,重量级服务器
    JBOSSAS 实现了JavaEE规范,重量级服务器,免费的
    Tomcat 实现了jsp/servlet规范,是一个轻量级服务器,开源免费

Tomcat

  • Tomcat是Apache软件基金会的Jakarta项目组中的一个核心项目,由Apache、Sun和其它一些公司及个人共同开发而成。由于有了Sun公司的参与和支持,最新的Servlet、JSP规范总能在Tomcat中得到体现。因为Tomcat技术先进、性能稳定,而且免费,所以深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。

  • Tomcat官网:tomcat.apache.org/

  • Tomcat各个版本所需要的支持

tomcat各个版本所需要的支持.png

下载和安装

  • 下载:官网下载

  • 安装:直接解压即可

  • 目录组成

    • bin:一些二进制可执行文件

    • conf:保存配置文件的路径

    • lib:Tomcat在运行过程中所需要的jar包

    • logs:日志文件

    • temp:临时文件

    • webapps:项目发布目录(一个文件夹代表一个web应用)(ROOT代表根项目)

    • work:工作目录

基本使用

  1. 启动

    startup.bat:Windows下启动执行文件

    startup.sh:Linux下启动执行文件

    启动后浏览器访问:http://localhost:8080可以进入欢迎界面(Tomcat默认端口为8080)

  2. 停止

    shutdown.bat:Windows下关闭执行文件

    shutdown.sh:Linux下关闭执行文件

  3. 部署项目

    在webapps目录下创建一个文件夹

    将资源放到该文件夹中

    启动tomcat,输入正确路径

常见问题

  1. 启动问题

    启动窗口一闪而过:没有配置jdk环境变量

tomcat一闪而过.png

java.net.BindException:端口8080被占用

  1. 控制台乱码问题解决

    conf-logging.properties

    修改java.util.logging.ConsoleHandler.encoding = UTF-8

    Tomcat默认UTF-8,CMD命令窗口默认GBK,将UTF-8改为GBK即可解决乱码问题

IDEA集成Tomcat

  1. 点击Run -》 Edit Configurations

  2. 点击Defaults -》 Tomcat Servlet -》 Local

  3. 点击Configure -》Tomcat Home -》 选择tomcat所在路径

Linux下的安装

  1. 上传压缩包到/home路径:put d:/apache-tomcat-9.0.58.tar.gz

  2. 解压压缩包:tar -zxvf 压缩包名

  3. 进入bin目录下:cd apache-tomcat-9.0.58/bin

  4. 启动tomcat服务:./startup.sh

  5. 使用浏览器测试:浏览器打开对应Linux服务器ip地址:8080

Java WEB项目

  1. 新建项目模型,选择Java Enterprise

    确定JDK版本、Appalication Server版本

  2. 右键Add Framework Support...

  3. 勾选Web Appalication选项

项目组成详解

  • src:存放Java源代码

  • web:存放项目相关资源(html、css、js、jsp、图片等)

  • WEB-INFO:存放相关配置的(web.xml等)

IDEA发布项目

  1. 点击Run -》 Edit Configurations

  2. 点击Tomcat Server -》 Deployment

    Application Context是项目访问路径,/代表默认路径,多个项目中只能有一个默认路径

  3. 点击Tomcat Server -》 Server

    设置关联浏览器

    两个Update resources设置

    设置JDK、端口号

  4. 启动Tomcat服务

  5. 验证结果(浏览器)

通过war包发布项目

  1. 在项目的web路径下打war包:jar -cvf myweb.war .

  2. 将打好的war包剪切到tomcat的webapps路径下

  3. 启动tomcat服务,自动解压war包

  4. 验证结果

配置文件

配置默认端口号

  • 主配置文件server.xml

    <Connector>标签中,port属性代表Tomcat默认端口号(8080)

tomcat端口号.png

http协议默认端口号为80,Tomcat默认端口号与其不一致,所以每次访问网站需要加上端口号

如果是80端口,就不需要加端口号

真正发布网站的时候,都需要将tomcat默认端口号改为80,这样在访问网站的时候就不需要加端口号了

配置虚拟目录

  • 作用:可以发布任意目录下的项目
  1. 编辑server.xml 配置文件,找到<Host>标签

  2. 加入以下内容

    <Context path="/mytest" docBase="e:/test" />

tomcat虚拟目录.png

path:访问资源的虚拟目录名称(表示在浏览器地址栏中的访问路径)

docBase表示需要发布的项目的真实路径

配置虚拟主机

  • 作用:可以指定访问路径的名称
  1. 编辑server.xml 配置文件,找到<Engine>标签

  2. 加入以下内容

tomcat配置虚拟主机.png

name:虚拟主机名称

appBase:项目所保存的根路径

unpackWARs:是否自动解压war包

autoDeploy:是否自动发布

Context:同虚拟目录

  1. 修改hosts文件

    绑定IP地址和对应的域名

    文件路径:c:\Windows\System32\drivers\etc

tomcat绑定域名.png


猜你喜欢

转载自juejin.im/post/7086844709229821959