转载请注明原文地址: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. openresty安装笔记

    目录 安装步骤: openresty安装在ubuntu下的安装 参考 安装OpenResty(Nginx+Lua)开发环境 安装步骤: # 创建目录/usr/servers,以后我们把所有软件安装在此 ...

  2. hbase相关操作

    hbase安装 下载 wget http://apache.gree.com/apache/hbase/hbase-1.2.11/hbase-1.2.11-bin.tar.gz tar -zxvf b ...

  3. Maven 跳过Junit单元测试

    转载自:https://blog.csdn.net/arkblue/article/details/50974957 -DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至 ...

  4. mybatis与hibernate的区别持久层对比【面试题】

    Mybatis技术特点: 好处: 通过直接编写SQL语句,可以直接对SQL进行性能的优化: 学习门槛低,学习成本低.只要有SQL基础,就可以学习mybatis,而且很容易上手: 由于直接编写SQL语句 ...

  5. 无法添加符号: 归档没有索引;运行 ranlib 以添加一个

    这将告诉您对象文件的格式.如果对象文件是针对不同的平台编译的,则会导致无法为存档创建索引.要纠正这种情况,您需要重新编译这些文件.

  6. 关于使用LocalDateTime进行存储,时间相差比较多的问题。

    可以在设置数据库中的连接, characterEncoding=UTF8&useSSL=false&serverTimezone=GMT%2b8

  7. django-订单并发处理--悲观锁和乐观锁

    冲突比较少的时候,使用乐观锁. 冲突比较多的时候,使用悲观锁. (1)     悲观锁 select * from df_goods_sku where id=17 for update; 悲观锁获取 ...

  8. MySQL学习笔记8——多表查询

    多表查询 多表查询 *合并结果集 *连接查询 *子查询 合并结果集 *要求被合并的表中,列的类型和列数相同(实际上是查询的结果集列类型和列数相同即可) *UNION,去除重复行 *UNION ALL, ...

  9. vue v-show的使用

    v-show的功能和v-if基本一样,但是v-if有衍生的v-else-if和v-else,v-show没有 v-show的性能比v-if要好,能用v-show就不要用v-if v-if是删除dom节 ...

  10. H5视频、音频不能自动播放,Uncaught (in promise) DOMException: play() failed because the user didn't

    错误原因:Chrome的autoplay政策在2018年4月做了更改. 解决办法: 第一步,在chrome浏览器中输入:chrome://flags/#autoplay-policy 第二步,在Aut ...