Nginx用来处理静态页面的请求,JSP交给Tomcat处理


  • 安装JDK

安装后,配置好JAVA_HOME和PATH

Mac查看JAVA_HOME路径的方法:/usr/libexec/java_home

  • 安装Tomcat

将安装包解压后,将目录配置为  CATALINA_HOME 环境变量,同时将bin目录添加到path中

一般我还会设置一下 tomcat-user.xml

<?xml version='1.0' encoding='utf-8'?>

<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0"> <role rolename="tomcat"/>
<role rolename="role1"/> <role rolename="manager-gui"/>
<role rolename="admin-gui"/> <user username="admin" password="123456" roles="admin-gui,manager-gui,tomcat,role1"/> </tomcat-users>
<Host name="localhost"  appBase="/Users/sherry/WorkPath/tomcat/webApps"
unpackWARs="true" autoDeploy="true">

项目路径配置在server.xml中

当Nginx与Tomcat都安装好后,Ngnix监听80端口,Tomcat监听8080端口,用户请求先给80端口,Ngnix判断请求情况,决定是自己处理还是交给Tomcat处理

在Ngnix的conf目录下,建一个配置文件,如:tomcat.conf,配置如下:

user nobody;
worker_processes 4; events {
worker_connections 1024;
} http{
server{
listen 127.0.0.1:80;
server_name 127.0.0.1;
access_log logs/server1,access.log combined;
location ~\.(jsp|jspx|do)?$
{
root /Users/sherry/WorkPath/tomcat/webApps;
index index.jsp index.jspx index.html;
proxy_set_header X-Forwared-Host $host;
proxy_set_header X-Forwared-Server $host;
proxy_set_header X-Forwared-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080;
}
}
}

启动Nginx nginx -c tomcat.conf  注意:这里就一定要指定配置文件进行启动了

然后就可以像是在访问Ngnix服务器一样访问tomcat上部署的工程了

这也就是Ngnix的反向代理

个人思考:原先部署在Tomcat上的程序,在jsp页面上,难免会去引入一些静态资源,如css、js、图片等,而现在肯定是要将这些静态资源放在Ngnix服务器上了

所以在实际部署的时候,静态资源文件和用到这些静态资源的jsp页面会不在同一个服务器上,这点要自己清楚。

Mac下配置环境变量的地方

/etc/paths

~/.bash_profile

Linux下配置环境变量的地方

/etc/profile

~/.bashrc

关于在哪里配置环境变量,只有知道环境变量有全局与当前用户之分即可,配置完后,注意 source 命令使其生效

Nginx与Tomcat集成的更多相关文章

  1. nginx和Tomcat集成后发生的重定向问题分析和解决

    nginx和Tomcat集成后发生的重定向问题分析和解决 Tomcat前端配置一个HTTP服务器应该是大部分应用的标配了,基本思路就是所有动态请求都反向代理给后端的Tomcat,HTTP服务器来处 理 ...

  2. centos7 搭建nginx和tomcat集成

    一.安装jdk 1.yum install jdk 2.安装好了之后配置环境变量  在/etc/profile 二.创建项目运行目录 1. 我放在home目录  mkdir /web/webapps ...

  3. Centos6.2上做nginx和tomcat的集成及负载均衡(已实践)

    Centos6.2上做nginx和tomcat的集成及负载均衡 ---------------------------------------------------------Jdk-------- ...

  4. Web服务(Apache、Nginx、Tomcat、Jetty)与应用(LAMP、CMS-WordPress&Ghost、Jenkins、Gitlab)

    Web服务和应用是目前信息技术领域的热门技术.如何使用Docker来运行常见的Web服务器(包括Apache.Nginx.Tomcat等),以及一些常用应用(LAMP.CMS等).包括具体的镜像构建方 ...

  5. Nginx服务器之Nginx与tomcat结合访问jsp

    本文使用linux centos系统 本文概述: JSP是一种动态网页技术标准.使用的方式是在HTML文件中插入程序段和JSP标记,而形成JSP文件.使用JSP开发WEB应用可以跨平台开发.但jsp需 ...

  6. Nginx 服务器 之Nginx与tomcat实现负载均衡

      本文讲解我们如何使用Nginx做反向带服务器,实现nginx与tomcat服务器集群做负载均衡. 一.nginx与tomcat实现负载均衡 1.在/usr/local/ngnix/conf  创建 ...

  7. 配置apache和nginx的tomcat负载均衡

    概述 本篇文章主要介绍apache和nginx的相关配置,tomcat的相关安装配置我在前面有写过一篇,详细介绍通过两种配置方法配置nginx. tomcat配置参考:http://www.cnblo ...

  8. virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续)

    virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续) 第一次接触到 linux,不知道linux的确很强大,然后用virtualbox ...

  9. 烂泥:haproxy与nginx、zabbix集成

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 昨天介绍了haproxy的手机匹配规则,今天再来介绍下haproxy与nginx.za ...

随机推荐

  1. 实际案例告诉你为什么Oracle不建议使用varchar2来存时间数据

    问题现象2015年9月客户系统中一条高逻辑读的SQL语句,在业务高峰期执行频率较高,导致系统逻辑读居高不下,同时带高了系统CPU,SQL语句主体部分如下 SELECT /* ^^*/ COUNT(DI ...

  2. Lucene检索提高性能的几个方式

    1.采用最新版本的Lucene 2.索引文件存储采用本地文件系统,如果需要挂载远程系统,请采用 readonly方式. 3.当然采用更好的硬件,更高I/O的磁盘 4.提高OS 缓存,调整参数 5.提高 ...

  3. npm run build根据不同参数打包不同环境url

    config文件夹下 dev.env.js中修改代码 'use strict' const merge = require('webpack-merge') const prodEnv = requi ...

  4. 触发ionic弹窗区域外的方法

    最近项目需要在页面弹窗的时候需要点击弹窗区域外的地方,其实也就是点击页面HTML就可以关闭弹窗, 首先在controller通过js获取到html的dom节点,然后绑定点击事件,话不多说上代码:   ...

  5. LeetCode111. Minimum Depth of Binary Tree

    题目 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15, ...

  6. ELK+kafka日志处理

    此次使用kafka代替redis,elk集群搭建过程请参考:https://www.cnblogs.com/dmjx/p/9120474.html kafka名词解释: 1.话题(Topic):是特定 ...

  7. python--Matplotlib(二)

    Matplotlib+pandas作图 一.对csv文件进行提取ruixi.csv 对上述表格进行提取并做图 #-*- coding:utf-8 -*- import matplotlib as mp ...

  8. strak组件(10):批量操作

    效果图: 批量删除只是一个例子,可以根据需求定制自己想要的批量操作. 新增函数 def get_action_list(self) 钩子方法,获取要处理的批量操作的函数 def action_mult ...

  9. APUE中对出错函数的封装

    // 输出至标准出错文件的出错处理函数static void err_doit(int, int, const char *, va_list); /* * Nonfatal error relate ...

  10. 13-在Core Mvc中使用Options

    配制文件appsettings和Classes来自12节 在HomeController增加如下代码,使用IOption方式进行注入 public class HomeController : Con ...