前后端分离的项目部署到tomcat_如何在开发时部署和运行前后端分离的JavaWeb项目...
在开发中大型的JavaEE项目时,前后端分离的框架逐渐成为业界的主流,传统的单机部署前后端在同一个项目中的工程项目越来越少。这类JavaWeb项目的后端通常都采用微服务的架构,后端会被分解为诸多个小项目,然后使用dubbo+zookeeper或者springCloud来构建微服务,前端则会是一个单独的项目,前台的请求通过微服务来调用。但是,不同与传统的web项目,这类前后端分离的项目如何在开发中部署和运行呢?
当前后端分离时,后端项目一定会被加载到tomcat的webapp目录下面,但是前端的资源院该如何被访问到呢?这里以tomcat这个中间件为例,探讨在开发这类项目的时候,如何让前后端分离的项目部署并且运行起来,即后端项目部署在tomcat之后如何在运行时访问静态资源(非上线部署)。
主要有两种方案:1.在本地通过Nginx来处理这些静态资源。2、将静态资源统一放入一个javaweb应用中,并将自动生成的war包随后端项目一期丢入tomcat。下面详细介绍
一、使用Nginx来访问静态资源。
在本地安装nginx并且修改nginx.conf,修改相关配置,将web访问的端口的资源进行更改,配置如下:
server {
listen 80;
server_name localhost;
charset utf-8;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcat_pool;
proxy_redirect off;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css|woff|woff2|ttf|eot|map)$ {
root D:\Workspaces\esop-html;
index index.html;
}
listen对象改为你本地的tomcat访问端口,最下面location中的root改为你前端项目中静态资源的位置,这样就可以实现只部署后端的项目就能访问前端的页面了。
二、将前端项目转换为动态的web项目,随后端项目一起丢入tomcat
这个方案省去了在本地安装和配置nginx,但是也只适用于开发阶段项目的部署运行和调试,真正在生产环境通常前后端项目会部署在不同的服务器。
如果是Intellij Idea,在导入前端项目之后,右键项目 add framework support --> web application,这时将会把前端项目转换为一个javaweb项目,然后将静态资源放在生成的web目录下即可。
如果是eclipse,可以新建一个javaweb项目然后将静态资源放入web或者webcontent目录下,或者直接先导入前端项目,然后通过 project facts 将项目转换为dynamic web项目并勾选 js等相关配置。
然后,运行项目时把后端的war包和前端的war包一同添加到 deployment中运行即可。
前后端分离的项目部署到tomcat_如何在开发时部署和运行前后端分离的JavaWeb项目...相关推荐
- 部署gradle_使用Gradle消除开发重新部署
部署gradle 为了进行服务开发,我的团队最近从Grails转到了Dropwizard框架. 但是,我真正从Grails堆栈中真正错过的一件事是自动重新加载:对源文件的任何更改在保存后立即显示在运行 ...
- python怎么部署到tomcat_使用python将war部署到tomcat
我正在尝试使用 python(2.4.2)将战争部署到Apache Tomcat服务器(Build 6.0.24),作为构建过程的一部分. 我正在使用以下代码 import urllib2 impor ...
- 【游戏开发】《Java游戏服务器架构实战》项目在windows上部署
[游戏开发]<Java游戏服务器架构实战>项目在windows上部署 文章目录 [游戏开发]<Java游戏服务器架构实战>项目在windows上部署 一.配置项目基础环境 二. ...
- 刚开始用 Go 做项目开发时都会面临哪些问题?
我身边几个朋友,当初掌握Go的时候都是硬赶着上架,语法还没完全掌握就投入到项目开发中.因为有了前人在企业项目里打好的基础,一开始我们就是写业务,感觉跟在前人定好的大纲里做填空题一样,后来慢慢上手后才更 ...
- 如何使用 IntelliJ IDEA(2020.2)构建一个JavaWeb项目
如何使用 IntelliJ IDEA(2020.2)构建一个JavaWeb项目 针对 IntelliJ IDEA 2020.2 这个新版本,不管是在创建项目上,还是在进行一些选项的配置上,与之前的版本 ...
- IDEA整合Tomcat启动javaweb项目
1.前言 突然兴起想要写这么一篇博客,不是因为别的,纯属是因为小编还是一个小白的时候,听某马和某硅谷的javaweb网课时,遇到这个章节一直启动不起来,虽然小编依旧是个菜鸡,但是今时不同往日了,小编已 ...
- IDEA-第一个Javaweb项目
配置Tomcat服务器: 下载(略,附地址) 地址:https://tomcat.apache.org/ 以apache-tomcat-7.0.73为例 启动Tomcat 找到apache-tomca ...
- javaweb项目Error:Android Source Generator: [example] Android SDK is not specified
javaweb项目混入android@java javaweb项目Error:Android Source Generator: [example] Android SDK is not specif ...
- 【Web】JavaWeb项目为什么我们要放弃jsp?为什么要前后端解耦?为什么要前后端分离?2.0版,为分布式架构打基础。 - CSDN博客
前戏 前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦, 并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务 ...
最新文章
- MySQL中的条件赋值
- 【深度学习】最新「深度学习社区发现」综述论文,174篇文献概述六大类方法(含Github资源)...
- 一线大厂Java开发所需掌握的技能要点汇总
- Notepad++背景颜色设置
- MongoDB系列二
- Linux管理磁盘配额
- 操作系统学习笔记-01-1.1课程概述
- 开源Blog系统-欧式风格家具网站源码v1.5.4
- Flutter 绘图 Paint strokeCap 延伸类型 strokeJoin 拐角类型 图文分析
- 代替httpclient JAVA_除了HttpClient,Java还有什么类似HttpClient的技术
- Git学习总结(1)——Git使用详细教程
- String StringBuffer StringBuilder的异同
- css3盒子模型微课_CSS3 盒子模型
- SQL2000和SQL2005同时安装问题(转载)
- JAVA Runtime.addShutdownHook()方法{拿到线程句柄,在程序关闭之前调用释放资源}
- 财子说丨王国斌:相信时间的力量
- 笔记本使用Nsight注意事项
- 概率图模型在图像处理中的应用
- 资深老狐一句感叹:白学了,猫猫究竟有什么魔力,一小时等于十年功?
- 90+目标跟踪算法九大benchmark!基于判别滤波器和孪生网络的视觉目标跟踪:综述与展望...