之前做项目,一直都是把本地的源码上传到svn,服务器是通过ant或者maven脚本来编译的生成项目的。每次都要单独登录接服务器进行项目的部署和发布,感觉特别繁琐。(特别是在有几套服务器的情况下,简直就是要抓狂……)

启动

其实以前在使用eclipse的时候就想在maven下使用插件进行远程部署,无耐,多次试验,都没有成功,IDE换到了idea自己也尝试了下,感觉配置要容易了许多,经过简单的也成功了,现在记录如下:

环境配置

在服务器上JDK、tomcat等的安装不是本教材的内容,安装步骤,请自行google或者百度。

1、验证tomcat是否正常



例如我的服务器地址就是192.168.110.52,看到如上我们熟悉的tomcat页面出现,tomcat的安装就OK了。

2、idea的远程部署

1)、服务器端的配置

找到我们安装的tomcat的目录:

eg:

root@node1:/usr/tomcat/apache-tomcat-8.0.26#

在bin目录下我们会发现好多命令的文件



这里我们进行远程发布需要在catalina.sh这个启动脚本中增加一些配置



这个配置可以参考idea的官网:https://www.jetbrains.com/help/idea/2016.1/run-debug-configuration-tomcat-server.html,这个具体的字符串如下,其实主要是启动jmx,

export CATALINA_OPTS="-Dcom.sun.management.jmxremote

-Dcom.sun.management.jmxremote.port=1099

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false

-Djava.rmi.server.hostname=192.168.110.52"


export JAVA_OPTS="-Dcom.sun.management.jmxremote=

-Dcom.sun.management.jmxremote.port=1099

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false"

其中的1099号端口,你在配置前需要检查下,是否被占用,如果被占用,你需要换个其他端口;-Djava.rmi.server.hostname=192.168.110.52中的“192.168.110.52”这个ip就是你服务器的地址了。还有一个小细节,你需要注意下,在服务器的/etc/hosts中,192.168.110.52这个地址的映射做了没。

如上,服务端的配置基本上就ok,现在需要启动了,之前,我们启动tomcat的脚本可能是startup.sh,现在我们需要远程部署,启动脚本是catalina.sh啦,其实我们可以看下这个脚本的文件的内容,拉倒最后,我们可以看到:



在这个里面的已经很清楚了解释了各个命令,这里我们采用run命令启动:

bin/catalina.sh run > /dev/null 2>&1 &

其中“ > /dev/null 2>&1 &”是Linux中的命令:把标准输出和出错处理都放到回收站,这样就免得一大堆输出占领你的屏幕。

在用jps命令:



如此,启动成功了,当然,你也可以到你本地的浏览器中输入:”http://192.168.110.52:8080“能看到tomcat的启动成功界面。

2)、本地idea端配置

增加远程服务器





远程服务器的配置测试



下面我把服务器换到192.168.110.79:



可以看到远程的都成功了

接着就是其他的配置了:







最后选着ok

到了最后一步了,选择远程的tomcat:



点击run

结果如下:



idea部署项目到远程tomcat的更多相关文章

  1. 部署项目到远程tomcat的413 Request Entity Too Large报错处理

    当项目jar包过多时,部署项目会报错而错误原因很清楚了,文件太大了. 因为用了nginx代理,而nginx默认文件大小有限,所以需要设置nginx上传文件大小限制 client_max_body_si ...

  2. Jenkins进阶-部署Web项目到远程tomcat(7)

    之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...

  3. Jenkins部署Web项目到远程tomcat(通过jenkins插件)

    之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...

  4. IntelliJ IDEA自动部署项目至远程服务器与传统部署项目至远程服务器的区别

    每次开发Java项目时,对于所有Java开发人员来说,最枯燥的不是修改代码,而是实时将自己的代码上传至远程服务器,进行测试或者部署,本人最初开发也是这样,通过使用Xshell 5,WinSCP等工具对 ...

  5. 一劳永逸部署项目:通过tomcat加载环境变量

    一劳永逸部署项目:通过tomcat加载环境变量 转载自:https://blog.csdn.net/u010414666/article/details/46499953 一.说明 项目中经常会用到x ...

  6. 使用maven命令进行打包,部署项目到远程仓库

    如果要部署项目到远程仓库, 方法一:配置pom.xml: <distributionManagement> <repository> <id>releases< ...

  7. Jenkins部署Web项目到远程tomcat

    1.填加插件Deploy to container Plugin. 2.在构建任务中填加构建后操作.并做如下配置: WAR/EAR files:是war包的相对路径,如target/xxx.war c ...

  8. 使用IDEA部署项目到远程服务器

    1.选择Tools -> Deployment -> Configuration... 2.配置连接信息,Linux服务器一般都选择SFTP 3.配置本地上传文件路径.远程上传文件路径 4 ...

  9. linux(Centos系统)部署项目(vue+nginx+tomcat)

    条件,在服务器安装好tomcat,nginx; 安装nginx命令:# yum install nginx 启动Nginx命令:# systemctl start nginx.service 给权限 ...

随机推荐

  1. javaweb基础(8)_HttpServletResponse生成验证码

    一.HttpServletResponse常见应用——生成验证码 1.1.生成随机图片用作验证码 生成图片主要用到了一个BufferedImage类,

  2. PMD 编译 语法分析 词法分析 抽象语法树

    编译原理 163 课堂 http://mooc.study.163.com/learn/-1000002001?tid=1000003000#/learn/content?type=detail&am ...

  3. 【差分约束】poj1275Cashier Employment

    比较经典的差分约束 Description A supermarket in Tehran is open 24 hours a day every day and needs a number of ...

  4. 详解wordpress如何把文件保存到阿里云OSS上!

    自己搞了一个Wordpress的博客,装完之后一直晾着没管,最近闲来开荒.为了减小服务器的带宽.存储.CUP的压力,决定把博客中的所有文件都保存到阿里云OSS上面. 关于这个问题,自己去调用OSS的S ...

  5. 补之前 如何改变jupyter打开文件的路径

    目录 如何改变jupyter打开文件的路径 第一种方法: 第二种方法 第三种方法 如何改变jupyter打开文件的路径 当我们直接打开jupyter时,直接加载的是我们的C盘文件 现在我们想打开其他盘 ...

  6. (转)webView清除缓存

    NSURLCache * cache = [NSURLCache sharedURLCache]; [cache removeAllCachedResponses]; [cache setDiskCa ...

  7. GPIO程序在PC上的模拟学习

    #include <stdio.h> #include <malloc.h> #include <memory.h> typedef struct gpio { i ...

  8. redis--py操作redis【转】

    Python操作redis 请给作者点赞--> 原文链接 python连接方式:点击 下面介绍详细使用 1.String 操作 redis中的String在在内存中按照一个name对应一个val ...

  9. Memcached配置失误引发的Keystone token丢失的问题

    故障现象 近期公司的OpenStack上频繁出现虚拟机创建失败的情况,查看日志定位到问题出在neutron-server向keystone认证token失败. 故障原因 Keystone所使用的Mem ...

  10. session工作原理

    什么是Sesson? 这个是状态保持三大对象之一! 原意是会话,会议的意思! 就是你打开浏览器到关闭浏览器 这期间称为一个会话,也就是一个session, 它是保存在服务器端的. 每当客户端请求页面时 ...