转载请注明原文地址: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 部署流程的更多相关文章

  1. JFinal 项目 在tomcat下部署

    原文:http://my.oschina.net/jfinal/blog/353062 首先明确一下 JFinal 项目是标准的 java web 项目,其部署方式与普通 java web 项目没有任 ...

  2. 在腾讯云&阿里云上部署JavaWeb项目(Tomcat+MySQL)

    之前做项目都是在本地跑,最近遇到需要在在云服务器(阿里云或者腾讯云都可以,差不多)上部署Java Web项目的问题,一路上遇到了好多坑,在成功部署上去之后写一下部署的步骤与过程,一是帮助自己总结记忆, ...

  3. IDEA2017.3.3创建第一个javaweb项目及tomcat部署实战

    一.创建简单web项目 1. 选择jdk(这里有点小问题不是很理解,通过java -verbose查找出来的jdk路径在C盘,这里并不能识别,而我jdk安装的时候有自己的路径在D盘,导入后就是图中的j ...

  4. [转]intellij 13新建javaweb项目并用tomcat 7启动

    来自:http://blog.csdn.net/little__zm/article/details/19570535 对intellij不熟,找了很多文章,只这篇最为顺利.其他都有各种各校的问题,先 ...

  5. 【tomcat】手动部署动态JavaWeb项目到tomcat

    1.通过修改server.xml进行配置 1.查看项目的目录结构: tomcat运行时加载WebConmtent目录

  6. [置顶] Maven多模块项目 eclipse热部署 Maven项目实现 tomcat热部署 二

    最近看到有好多童鞋比较热衷热部署,特别是多模块的项目,其实这热部署如果多模块比较大资源,容易内存溢出或者电脑卡住,并不建议这么做. 不过了解下也没有关系,这里我就在说说热部署的另外一种方法,因为我之前 ...

  7. myeclipse项目在Tomcat服务器部署问题

    错误信息:Deployment of project mybook will replace this resource. Please specify the action you wish to ...

  8. creat-react-app/dva静态项目,用nginx部署在次级域名路径(如a.com/sub/)需要注意的几点

    因为要把dist文件夹部署在一个域名的次级目录,没想到和运维同学一起折腾了一下午.. 放在这里备忘,也给后来的同学一些可查的中文资料: 1,dva/cra给你的模板index.html是在public ...

  9. [JavaWeb基础] 001.简单的JavaWeb代码和Tomcat配置部署

    简介: 其实说明白了就是J2EE应用开发,前端可以有很多的展现方式,后端由Java做逻辑运算和数据支撑.适用于创建服务器应用程序和服务,为搭建具有可伸缩性.灵活性.易维护性的商务系统提供了良好的机制. ...

随机推荐

  1. itest(爱测试) 4.2.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    itest 入选 2019 年度最受欢迎开源中国软件 开源工具的发展,离不开你我的支持,需要您投上宝贵的一票  去投票 v4.2.0下载地址 :itest下载 itest 简介:查看简介 itest ...

  2. Windows10下Git环境变量配置

    一.确定Git正确安装并能使用 右键项目目录,检查Git版本: 输入:  git --version 二. 配置环境变量 右键我的电脑 --> 属性 点击高级系统设置 --> 环境变量 - ...

  3. 第七周第二次Scrum会议

    工作: 根据上个周对前端的布置学习,布置大家开发了相应的界面.(界面开发成果写在测试报告) 地点: 二餐二 会议照片: 忘记拍了... 核心问题: 如何编写统一风格的前端界面. 解决: 将相应资源打包 ...

  4. Python 链表(linked list)

    链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 链表由一系列结点组成,结点可以在运行时动态生成 优点 由于不必须按顺序存储,链表在插入.删除的时候 ...

  5. 多维度对比5款主流分布式MQ消息队列,妈妈再也不担心我的技术选型了

    1.引言 对于即时通讯网来说,所有的技术文章和资料都在围绕即时通讯这个技术方向进行整理和分享,这一次也不例外.对于即时通讯系统(包括IM.消息推送系统等)来说,MQ消息中件间是非常常见的基础软件,但市 ...

  6. 快速了解Electron:新一代基于Web的跨平台桌面技术

    本文引用了作者“ ConardLi”的<用JS开发跨平台桌面应用,从原理到实践>一文部分内容,原文链接:segmentfault.com/a/1190000019426512,感谢原作者的 ...

  7. torch_12_BigGAN全文解读

    1.摘要: 尽管近来生成图片模型取得了进步,成功生成了高分辨率的图片,但是在复杂的数据集中,样本的多样性仍然是难以捉摸的目标.本文尝试在大规模上训练生成对抗网络,并研究这种规模下的不稳定性.我们发现将 ...

  8. 【shell脚本】不停地telnet一个ip或域名,并输出结果到文件中===telnetscript.sh

    编写shell脚本不停地telnet一个域名,并输出结果到文件中 [root@localhost ~]# cat telnetscript.sh #!/bin/bash #检查是否在root用户下执行 ...

  9. servlet中的IllegalStateException

    IllegalStateException在java web开发中比较常见,IllegalStateException的根本原因是java servlet在提交响应后,还尝试写内容. 所以避免Ille ...

  10. python在字节流中对int24的转换

    python在字节流中对int24的转换 概述 最近在写项目的过程中,需要对从串口中读取的数据进行处理,本来用C写完了,但是却一直拿不到正确的数据包,可能是因为自己太菜了.后来用了python重新写了 ...