JavaWeb项目 IDEA+Tomcat+Nginx 部署流程
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/11375100.html
一:IDEA Maven项目打包
1、修改打包方式
在maven项目的pom文件中,修改打包方式为:war。
2、通过maven工具栏进行打包
点击IDEA右侧, 有个maven侧边栏,点击展开他;
选择你要打包的项目,点击展开:如果是聚合模块开发出来的项目,则选中根目录下pom所在项目进行统一打包;
点击 LifeCycle:
1)第一步:点击clean
2)第二步:点击package
此时会自动执行前置的生命周期,直到打包成功。
3)第三步:查看打包结果
打包过程中如果没发生编译失败、单元测试失败等,则会成功打包。我们可以在左侧项目大纲中,点击打包项目进行展开,找到target目录,就可以找到我们刚才打包出来的war包了。
3、放到本地tomcat测试
将war包放到tomcat目录的webapps,重启tomcat,通过浏览器进行访问。
可以将war包重命名后再部署,这样的话解压出来的项目名就简单好记,maven默认打包出来的项目带了版本号等,比较长。
二:搭建服务器
1、安装JDK
我使用的是centOS7系统,使用yum工具进行安装:yum在安装的同时会自动配置环境,无需自行设置。
1)检查系统有无安装过jdk
rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj
如无输出,则说明没有安装。
如果有输出,可以使用以下命令卸载:
rpm -qa | grep java | xargs rpm -e --nodeps
接下来开始安装JDK1.8。
2)检索java1.8相关安装列表。
yum list java-1.8*
3)安装java1.8.0的所有文件
yum install java-1.8.-openjdk* -y
4)检查是否安装成功
java -version
可以查看到jdk版本和位数,则成功。
2、搭建数据库
1)安装数据库
我使用的是PostgreSQL,具体安装步骤参考:https://www.cnblogs.com/shhnwangjian/p/8392050.html
其他数据库安装自行网上搜索。
2)远程连接测试是否搭建成功
使用Navicat工具,远程连接到数据库服务器。
3)新建数据库
创建本项目要使用的数据库,并将本地开发过程中建表sql脚本在此处再次运行一遍。
4)新建登录账号
新建一个账号,用于本项目代码连接数据库使用。
3、安装tomcat
1)前往tomcat官网下载页
找到对应版本的下载页面,找到 tar.gz 的下载链接,右键——复制下载链接。
2)下载压缩包
cd到~目录,新建一个目录:web_server,并cd到这个目录。
通过:
wget 下载链接
下载压缩包。
3)解压
通过
tar -zxvf 压缩包名
解压得到tomcat。
4)重命名
解压出来的tomcat带有版本号信息,名称太长。
可以通过
mv 原名称 新名称
进行重命名。
5)启动并测试
cd到tomcat/bin目录下,执行启动文件。
./startup.sh
通过浏览器,输入服务器 ip:8080 ,能成功看到tomcat欢迎页面
4、上传war包到服务器
可以通过传输工具连接到服务器,进行可视化拖动。
我个人偏爱命令行操作,所以我选择使用scp命令进行操作。
将打包的war包重命名好后,在war包所在目录处打开CMD终端窗口,输入:
scp xxx.war root@服务器ip:tomcat/webapps目录路径
按提示输入root账号密码即可。
5、修改tomcat默认端口
tomcat默认监听80端口,对于公司内部有自己机房的情况,默认内网机器的80端口是禁止暴露的。
因此需要将tomcat监听端口改为其他端口:
cd到tomcat/conf目录,vim server.xml:将connecter的port由8080改为你想要监听的端口。
6、修改tomcat默认启动页为项目首页
接着第五步,在默认的host标签内插入:<Context path="" docBase="../webapps/项目名/"/> 即可。
7、重启tomcat,使配置生效
8、校验是否部署成功
从浏览器输入 IP:端口 ,能访问到项目即成功。
如果没有修改端口,则输入ip即可。
三:搭建负载均衡服务器
1、安装Nginx
1)添加源
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2)查看源是否添加成功
yum search nginx
3)安装Nginx
sudo yum install -y nginx
4)启动Nginx并设置开机自动启动
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
5)检查是否安装成功
浏览器输入 ip:8080 ,可以看到Nginx欢迎页面。
2、配置反向代理
cd到Nginx安装目录,yum安装一般在 /etc/nginx下。
cd到conf.d目录下,vim default.conf:
1)添加要跳转到的目标地址
在开头第一行,添加upstream:
upstream tomcat1 {
server 目标ip或域名:端口;
}
2)修改ngnix监听端口
刚才说过,部署在公司内部机房的,禁止使用80端口,如果是部署在公有云上,则无需进行此步操作。
修改server标签内:
server {
listen 监听端口;
server_name 域名; #charset koi8-r; #access_log logs/host.access.log main; location / {
proxy_pass http://tomcat1; //此处配置代理的目标为上面配置的业务系统路径
index index.html index.htm;
}
}
3、重启Nginx服务使配置生效
systemctl restart nginx.service
4、检验是否成功
浏览器输入Nginx所在服务器域名,能成功跳转至业务系统首页,即成功。
JavaWeb项目 IDEA+Tomcat+Nginx 部署流程的更多相关文章
- JFinal 项目 在tomcat下部署
原文:http://my.oschina.net/jfinal/blog/353062 首先明确一下 JFinal 项目是标准的 java web 项目,其部署方式与普通 java web 项目没有任 ...
- 在腾讯云&阿里云上部署JavaWeb项目(Tomcat+MySQL)
之前做项目都是在本地跑,最近遇到需要在在云服务器(阿里云或者腾讯云都可以,差不多)上部署Java Web项目的问题,一路上遇到了好多坑,在成功部署上去之后写一下部署的步骤与过程,一是帮助自己总结记忆, ...
- IDEA2017.3.3创建第一个javaweb项目及tomcat部署实战
一.创建简单web项目 1. 选择jdk(这里有点小问题不是很理解,通过java -verbose查找出来的jdk路径在C盘,这里并不能识别,而我jdk安装的时候有自己的路径在D盘,导入后就是图中的j ...
- [转]intellij 13新建javaweb项目并用tomcat 7启动
来自:http://blog.csdn.net/little__zm/article/details/19570535 对intellij不熟,找了很多文章,只这篇最为顺利.其他都有各种各校的问题,先 ...
- 【tomcat】手动部署动态JavaWeb项目到tomcat
1.通过修改server.xml进行配置 1.查看项目的目录结构: tomcat运行时加载WebConmtent目录
- [置顶] Maven多模块项目 eclipse热部署 Maven项目实现 tomcat热部署 二
最近看到有好多童鞋比较热衷热部署,特别是多模块的项目,其实这热部署如果多模块比较大资源,容易内存溢出或者电脑卡住,并不建议这么做. 不过了解下也没有关系,这里我就在说说热部署的另外一种方法,因为我之前 ...
- myeclipse项目在Tomcat服务器部署问题
错误信息:Deployment of project mybook will replace this resource. Please specify the action you wish to ...
- creat-react-app/dva静态项目,用nginx部署在次级域名路径(如a.com/sub/)需要注意的几点
因为要把dist文件夹部署在一个域名的次级目录,没想到和运维同学一起折腾了一下午.. 放在这里备忘,也给后来的同学一些可查的中文资料: 1,dva/cra给你的模板index.html是在public ...
- [JavaWeb基础] 001.简单的JavaWeb代码和Tomcat配置部署
简介: 其实说明白了就是J2EE应用开发,前端可以有很多的展现方式,后端由Java做逻辑运算和数据支撑.适用于创建服务器应用程序和服务,为搭建具有可伸缩性.灵活性.易维护性的商务系统提供了良好的机制. ...
随机推荐
- pyspark 使用时环境设置
在脚本中导入pyspark的流程 import os import sys spark_name = os.environ.get('SPARK_HOME',None) # SPARK_HOME即sp ...
- JAVA基础复习(重点)
一. 初识Java编程 1. Java开发环境 JDK Java开发工具 JVM Java虚拟机 JRE Java运行环境 2.实现第一个hello world public cl ...
- JAVA反射(资源版)
关于JAVA反射的作用可以看这篇博客(说的很详尽): https://www.cnblogs.com/jqyp/archive/2012/03/29/2423112.html 下面是关于JAVA反射的 ...
- java面试填坑解惑篇
感谢原文出处:https://www.cnblogs.com/javazhiyin/ NO1.请简单描述JDK和JRE的区别? NO1.回答JDK和JRE的区别这道题,首先要回答两个名次的概念,JDK ...
- java下实现压缩数据存取
使用Apache Commons Compress实现压缩数据存取,支持格式有XZ,7z,tar,zip,jar,bzip2,gzip等. 例子在 https://commons.apache.org ...
- node exporter
在prometheus中负责数据汇报的程序统一叫做exporter; 负责主机信息收集的node_exporter 可以利用prometheus的static_configs来拉取node_expor ...
- Apache(基于端口号)
1.配置服务器的IP地址 2. 创建网站数据目录 (1).分别创建端口为6111,6222的网站数据目录 (2).分别在网站数据目录中写入不同的内容 3.在配置文件中描述基于端口号的虚拟主机 (1) ...
- Codeforces Round #551 (Div. 2) E 二分 + 交互
https://codeforces.com/contest/1153/problem/E 题意 边长为n的正方形里面有一条蛇,每次可以询问一个矩形,然后会告诉你蛇身和矩形相交有几部分,你需要在最多2 ...
- gradle初学可能遇到的问题
gradle的脚本文件名称必须是build.gradle,如果自学的时候随便起的名字测试.如:test.gradle,脚本执行的时候是找不到相对于的任务的.会报错
- 国内Java面试总是问StringBuffer,StringBuilder区别是啥?档次为什么这么低?
GitHub 6.6k Star 的Java工程师成神之路 ,不来了解一下吗? GitHub 6.6k Star 的Java工程师成神之路 ,真的不来了解一下吗? GitHub 6.6k Star 的 ...