tomcat+nginx实现项目部署

2023-11-12

本文主要讲述的项目部署方面的一些基础知识,tomcat+nginx的环境。
  nginx是常用的web服务器,用于获取静态资源,类似的服务器还有apache。
  tomcat是基于java servlet 的 web 容器,用于获取动态资源。
  一般的web服务架构:前端部署nginx,后端部署tomcat。用户访问nginx,静态资源nginx直接返回,动态资源的请求被nginx转发到tomcat,tomcat将处理完的结构返回给nginx,然后到浏览器。

一、tomcat的介绍
  
二、nginx的介绍
  Nginx (“engine x”) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的。

何为反向代理呢?即以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

而Nginx主要完成的工作就是反向代理,比如我们向一台服务器的80端口发送了请求,该请求首先由Nginx监听到,其接受到请求内容后再转发给其他服务器,其他服务器处理完后再将结果传送给Nginx,最后由Nginx来统一返回给初始请求端。

Nginx最常见的使用方法就是作为静态资源服务器,比如将CSS,JS,html,htm等文件进行缓存处理。

2.1、windows环境下nginx环境搭建
  2.1.1 nginx的下载(http://nginx.org/en/download.html)
  在这里插入图片描述
2.1.2 nginx.exe的启动

解压安装,注意不要安装在中文路径下,安装在中文路径下无法启动,会报错。
  在这里插入图片描述
点击nginx.exe启动,在任务管理器中找不到对应的进程,查看log日志
在这里插入图片描述
安装路径切换到非中文路径下:
在这里插入图片描述
启动完成之后,在浏览器中访问,端口号查看conf/nginx.conf文件
在这里插入图片描述
其表示监听8019端口请求后,会首先去html文件夹下寻找index.html页面。
在这里插入图片描述
eg:
在这里插入图片描述
在这里插入图片描述
注意配置的端口号不要被占用(以下是8080端口被占用)
在这里插入图片描述
在这里插入图片描述
启动成功。

2.1.3 命令操作nginx

启动:在nginx目录下start nginx或者nginx.exe,建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。
   在这里插入图片描述
在这里插入图片描述
关闭:nginx.exe -s stop 或 nginx.exe -s quit

注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。
  在这里插入图片描述
重新载入Nginx:nginx.exe -s reload 当配置信息修改,需要重新载入这些配置时使用此命令。
在这里插入图片描述
查看nginx的版本号nginx -v
在这里插入图片描述
2.2、linux环境下nginx环境搭建
在这里插入图片描述
Nginx官网提供了三个类型的版本
    Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版
    Stable version:最新稳定版,生产环境上建议使用的版本
    Legacy versions:遗留的老版本的稳定版
    
三、项目部署
  3.1、一键部署
  3.2、war部署
  3.3、jenkins自动部署

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

tomcat+nginx实现项目部署 的相关文章

  • Hibernate 每个子类一个表继承策略的效率

    我正在考虑 Hibernate 管理的类层次结构的表布局 当然 每个子类表技术在我看来是一般意义上最合适的 然而 通过逻辑思考 我对其性能有些担忧 尤其是随着子类数量的扩展 举一个非常简短 且经典 的示例 假设您有以下类 public ab
  • 从另一个进程捕获 system.out 消息

    我有一个 JVM 1 它启动 JVM 2 我希望能够在 JVM 1 中监视来自 JVM 2 的 System out println 调用 直接的方法是 JVM A 执行系统命令来启动 JVM B 然后 JVM A 读取 B 的所有输出 S
  • Grails 项目 - Servlet 调用 - ClassNotFoundException:javax.servlet.AsyncContext

    我在用 IntelliJ IDEA 终极版 12 4 grails 2 2 0 BuildConfig groovy 文件中的 grails servlet version 2 5 并实现了简单的 servlet post 请求 使用 RE
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh
  • 在 json 中解析尾随字符

    我正在尝试检查 json 是否有效 并且我遇到了奇怪的行为 当我将一些字符附加到可解析的 json 时 jackson 和 gson 都会解析它 并且它们会忽略尾随字符 我想检查 json 是否严格有效 请帮忙 我尝试了几个标志mapper
  • 始终等待页面加载到 PageObjects 上

    因此 当出现问题时 我只是创建了一个简单的 selenium JBehave 代码 我将首先发布简化的代码 然后稍后解释我的问题是什么 所以这里我们有一个简单的 AbstractClass 它将在我的 PageObjects 上继承 此类仅
  • NIO 直接缓冲区何时以及如何被释放?

    我有一个 C 库 需要一个临时缓冲区作为暂存空间 我正在考虑将直接字节缓冲区的地址传递给它 在最终释放缓冲区之前 是否允许虚拟机重新定位缓冲区 JNI 框架消失后 本机库将保留该指针 我的理解是 JNI 本地对象引用无法缓存 因为 VM 可
  • Java 表达式树 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有相当于 net的 LINQ 下的表达式树JVM 我想实现一些类似 LINQ 的代码结构Scala
  • Nginx 位置、别名、重写、根

    我正在通过 proxypass 提供 foo bar 服务 并希望继续这样做 但是 我想从 var www mystatic baz swf 等静态地提供 foo bar baz swf 服务 我希望我能做类似的事情 location fo
  • 合并和颜色样式不适用于 Apache POI excel 2003 格式

    在 Apache POI 中 我为某些单元格应用了一些样式并合并了这些单元格 当我在 2010 年或 2007 年打开时 它工作正常 但在 2003 年 格式样式消失了 每次保存 2003 Excel 文件之前都会弹出兼容性检查对话框 请参
  • ThreadPoolExecutor 和队列

    我以为使用线程池执行器 http docs oracle com javase 6 docs api java util concurrent ThreadPoolExecutor html我们可以提交Runnables 要在以下位置执行B
  • java中永远不会出现的异常

    我为点和向量编写一个类 我想用它们来计算向量的点和范数 这些是点类和向量类 public class Point public float x y public class MyVector public Point start end 我
  • SQlite 获取最近的位置(带有纬度和经度)

    我的 SQLite 数据库中存储有纬度和经度的数据 我想获取距我输入的参数最近的位置 例如我当前的位置 纬度 经度等 我知道这在 MySQL 中是可能的 并且我已经做了相当多的研究 SQLite 需要一个自定义外部函数来实现半正弦公式 计算
  • 带等待/通知的同步块与不带等待/通知的同步块之间的区别?

    如果我只是使用synchronized 不是wait notify方法 它仍然是线程安全的吗 有什么不同 Using synchronized使方法 块一次只能由一个线程访问 所以 是的 它是线程安全的 这两个概念是结合在一起的 而不是相互
  • “强制更新快照/版本” - 这是什么意思

    在 Maven 项目中 选择 更新项目 时 有一个名为 强制更新快照 版本 的选项 它有什么作用 强制更新快照 版本 就像运行以下命令 mvn U install U 也可以用作 update snapshot 看here http boo
  • Eclipse 如何创建一个未解决编译问题的类?

    当我尝试使用 javac 编译此类时 出现编译错误并且未创建 Test class public class Test public static void main String args int x 1L lt this cannot
  • 如何在 Hibernate 中自动递增复合主键中的 Id?

    我有一个带有复合主键的表 groupId and batchId 实体类看起来像 Entity name EMPLOYEE public class Employee EmbeddedId private EmployeePK employ
  • java中什么是静态接口?

    我正在阅读Map Entry界面 当我注意到它是一个static界面 我不太明白什么是静态接口 它与常规接口有什么不同 public static interface Map Entry
  • Volley 在第一次调用方法时返回 null

    我正在尝试使用 volley 从服务器检索数据 但是当我第一次调用此方法时 我收到服务器的响应 但该方法返回 null 如果我第二次调用它 我会得到最后的响应 public String retrieveDataFromServer Str
  • 将 SQL 数据中的一行映射到 Java 对象

    我有一个 Java 类 其实例字段 以及匹配的 setter 方法 与 SQL 数据库表的列名相匹配 我想优雅地从表中获取一行 到 ResultSet 中 并将其映射到此类的实例 例如 我有一个 Student 类 其中包含实例字段 FNA

随机推荐

  • Python画樱花树代码和小猪佩奇

    樱花树 效果图 import turtle as T import random import time 画樱花的躯干 60 t def Tree branch t time sleep 0 0005 if branch gt 3 if 8
  • C语言---合法标识符与整型

    目录 1 头文件 2 常量 变量 命名规范 合法的浮点数 小数与指数 char与八进制 3 sizeof 数据溢出 4 整型 5 面向过程 流程 入口 出口 注释 6 进制转换 首先我们来介绍一下 一开始学习c语言最先遇到的头文件是什么 头
  • [vue3 + element-plus] 表单中清除单个字段的校验效果

    清除全部校验效果 const resetForm formEl FormInstance undefined gt if formEl return formEl clearValidate 清除单个校验效果 const resetItem
  • html网页设计字体变色,网页制作怎么改变字体颜色

    大家好 我是时间财富网智能客服时间君 上述问题将由我为大家进行解答 网页制作改变字体颜色的方法是 1 首先打开hbuilder软件 新建一个html文件 里面写入3个p标签 再在style标签中设置p标签的基本样式 包括间距 字体大小等属性
  • redhat7 虚拟机 取消屏幕保护或自动休眠时间

    RedHat7系统每次不操作5 10分钟 就会自动锁屏 要重新出入密码 比较麻烦 取消屏保步骤 应用程序 系统工具 设置 power 空白屏幕选择 从不
  • linux下QTCreator无法出现代码提示框到问题解决

    问题 在QT 5中输入代码是不出现补全代码到提示框 例如输入 incl几个字母后提示框中出现 include补全提示 解决办法 在中文输入法下面的字母输入模式下输入代码时 qt无法实时识别字母 所以不出现补全提示框 将输入法切换到EN 英语
  • 无字母数字的命令执行(ctfshow web入门 55)

    这几天都没有怎么学习 基本上都是复习学科知识 因为我们要期末考试 刚刚好今天有时间来做了一道命令执行的题 再一次拜读了 p神的文章 受益匪浅 直接进入正题 源代码
  • java easypoi 多sheet导入与导出

    easypoi 多sheet导入与导出 文章目录 easypoi 多sheet导入与导出 一 easypoi 环境 二 多sheet导出 二 多sheet导入 一 easypoi 环境 1 pom依赖
  • Git下载安装及设置详细教程

    一 安装前准备 1 廖雪峰老师Git教程 推荐Git入门教程 2 按照自己的系统版本下载Git软件 我的操作系统 Windows7 64位 安装版本为Git 2 18 0 64 bit exe 截至2018 8 27最新版本 Git下载地址
  • 海外风控中这类征信数据与模型实践,实操落地效果最有效

    今天的文章我们跟大家详细介绍 海外现金贷征信数据的特征介绍与建模实践 希望今天的内容可以帮助各位童鞋了解海外现金贷的数据维度及其特征体系 并重点熟悉特征衍生的加工方法 在实际任务场景中加以实践应用 首先 我们需要明确征信数据与短信 APP等
  • gradle全下载

    http services gradle org distributions
  • pyautogui快捷键自动点击

    一个小玩意 本意是知云翻译完可以更方便地读出单词 Path是要识别的按钮的图片 import pyautogui import keyboard def Nonetype return None if name main Path D sp
  • linux设备驱动入门1

    一 如何让驱动程序运行起来 1 1 linux中驱动程序和应用程序的区别 linux系统中驱动程序运行在内核空间而应用程序运行在用户空间 他们之间有着很多的不同之处 应用程序是无后缀的 而驱动程序是带后缀 ko 比如hello ko是驱动成
  • js向对象中添加元素(对象,数组)

    一 添加一个元素 对象名 属性名 值 值 可以是一个值 可以是一个对象 也可以是一个数组 这样添加进去的元素 就是一个值 或 对象 或 数组 var obj name leo console log obj obj age 16 conso
  • 错误排查

    1 报错以后 错误要从后面的错误往前读 2 标签别写错了 3 resource绑定mapper 路径要写 4 程序配置文件必须符合规范 5 NullPointerException 没有注册到资源 6 输出的xml文件中存在中文乱码问题 7
  • 使用两个栈实现一个队列

    使用两个栈实现一个队列 栈的特点 后进先出 队列的特点 先进先出 那么如何用两个栈实现一个队列呢 我们可以将两个栈进行拼接 一个当做队头 一个当做队伍 例如下面的例子 由上图我们可以看到 stack1中入栈的顺序是4 3 2 1 其中 4
  • C++:删除map元素,当value值为指针时,如何释放内存。

    class A map lt string A gt stoaMap 1 通过迭代器遍历删除 map lt string A gt iterator iter stoaMap begin while iter stoaMap end 1 注
  • c++第十五课--set/multiset的简介

    1 set是一个集合容器 其中所包含的元素是唯一的 集合中的元素按一定的顺序排列 元素插入过程是按排序规则插入 所以不能指定插入位置 2 set采用红黑树变体的数据结构实现 红黑树属于平衡二叉树 在插入操作和删除操作上比vector快 3
  • html项目开发过程中遇到的问题(1)

    1 hgroup标签 该标签主要针对各个标题进行组合 多用在header导航栏标题中 2 section标签 该标签定义页眉页脚 或页面中的其他部分 通常与标签article连用 3 clearfix与 clear after 1 clea
  • tomcat+nginx实现项目部署

    本文主要讲述的项目部署方面的一些基础知识 tomcat nginx的环境 nginx是常用的web服务器 用于获取静态资源 类似的服务器还有apache tomcat是基于java servlet 的 web 容器 用于获取动态资源 一般的