精华内容
下载资源
问答
  • 我正在尝试使用python(2.4.2)将战争部署到Apache Tomcat服务器(Build 6.0.24),作为构建过程的一部分.我正在使用以下代码import urllib2import base64war_file_contents = open('war_file.war','rb').read()username=...

    我正在尝试使用

    python(2.4.2)将战争部署到Apache Tomcat服务器(Build 6.0.24),作为构建过程的一部分.

    我正在使用以下代码

    import urllib2

    import base64

    war_file_contents = open('war_file.war','rb').read()

    username='some_user'

    password='some_pwd'

    base64string = base64.encodestring('%s:%s' % (username, password))[:-1]

    authheader = "Basic %s" % base64string

    opener = urllib2.build_opener(urllib2.HTTPHandler)

    request = urllib2.Request('http://localhost:8080/manager/deploy?path=war_file', data=war_file_contents)

    request.add_header('Content-Type', 'application/octet-stream')

    request.add_header("Authorization", authheader)

    request.get_method = lambda: 'PUT'

    url = opener.open(request)

    url.code为200,url.msg为“OK”.但是,Web存档不会出现在管理器列表应用程序页面上.

    谢谢.

    最佳答案 好吧,想通了.

    urllib2.Request行需要在路径前面有一个斜杠,所以: –

    request = urllib2.Request('http://localhost:8080/manager/deploy?path=/war_file', data=war_file_contents)

    一切正常.

    展开全文
  • 3. 前端项目已经部署到tomcat的ROOT目录下,后端项目也以ROOT命名。 4. tomcat可以正常启动 5. 前端页面可以访问到 ***** **但是问题来了?** * 前端无法请求到后台的数据 ![图片说明]...
  • 我尝试使用python(2.4.2)作为构建过程的一部分,将war部署到apachetomcat服务器(构建6.0.24)。在我用的是下面的代码import urllib2import base64war_file_contents = open('war_file.war','rb').read()username='...

    我尝试使用python(2.4.2)作为构建过程的一部分,将war部署到apachetomcat服务器(构建6.0.24)。在

    我用的是下面的代码import urllib2

    import base64

    war_file_contents = open('war_file.war','rb').read()

    username='some_user'

    password='some_pwd'

    base64string = base64.encodestring('%s:%s' % (username, password))[:-1]

    authheader = "Basic %s" % base64string

    opener = urllib2.build_opener(urllib2.HTTPHandler)

    request = urllib2.Request('http://localhost:8080/manager/deploy?path=war_file', data=war_file_contents)

    request.add_header('Content-Type', 'application/octet-stream')

    request.add_header("Authorization", authheader)

    request.get_method = lambda: 'PUT'

    url = opener.open(request)

    在网址代码是200,而网址.msg是“好的”。但是,web存档不会出现在“管理器列表应用程序”页面上。在

    谢谢。在

    展开全文
  • 前提条件:1、安装linux系统2、打开linux系统的ssh服务3、关闭linux系统远程防火墙4、在linux系统安装tomcat服务5、提前准备好应用war包6、需要安装paramiko服务使用场景:节省重复又麻烦的手动部署动作,自动化多...

    前提条件:

    1、安装linux系统

    2、打开linux系统的ssh服务

    3、关闭linux系统远程防火墙

    4、在linux系统安装tomcat服务

    5、提前准备好应用war包

    6、需要安装paramiko服务

    使用场景:

    节省重复又麻烦的手动部署动作,自动化多服务部署提高效率。

    第一步:安装jdk依赖包

    第二步:安装tomcat包

    #coding=utf-8

    import paramiko

    import time

    # 创建SSH客户端用来远程连接服务器进行操作

    class sshClient:

    # 构造函数,创建一个ssh服务对象

    def __init__(self, host, port, username, password):

    self.host = host

    self.port = port

    self.username = username

    self.password = password

    try:

    self.ssh = paramiko.SSHClient()

    self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

    self.ssh.connect(self.host, self.port, self.username, self.password)

    except Exception as e:

    print "ssh链接失败:①请检查ip、端口、用户名、密码是否错误;②请检查目标服务是否开启ssh并关闭防火墙。", e

    # 调用远程命令的函数

    def cmd(self, cmd):

    try:

    transport = self.ssh.get_transport()

    channel = transport.open_session() # 连接成功后打开一个channel

    channel.get_pty() # 打开远程的terminal

    channel.exec_command(cmd) # 执行cmd命令

    result = []

    while True:

    r = channel.recv(1024) # 接收socket返回的数据

    if not r:

    break

    else:

    result.append(r)

    channel.close()

    return "".join(result)

    except Exception as e:

    print "cmd执行失败。", e

    # 下载远程地址的文件

    def down(self, localdir, romatedir):

    try:

    ftp = self.ssh.open_sftp()

    ftp.get(romatedir, localdir)

    ftp.close()

    except Exception as e:

    print "文件下载失败。", e

    # 上传本地文件到远程地址

    def upload(self, localdir, romatedir):

    try:

    ftp = self.ssh.open_sftp() # 通过ssh打开ftp通讯通道

    ftp.put(localdir, romatedir)

    ftp.close()

    except Exception as e:

    print "文件上传失败。", e

    # 关闭ssh链接

    def close(self):

    self.ssh.close()

    # 创建自动化部署Tomcat服务,用于自动化部署和运行

    class deployTomcat:

    def __init__(self, host, port, username, password, tomcaturl, localurl, romateurl):

    self.host = host

    self.port = port

    self.username = username

    self.password = password

    self.tomcaturl = tomcaturl

    self.localurl = localurl

    self.romateurl = romateurl

    def install(self):

    ssh = sshClient(self.host, self.port, self.username, self.password)

    # 杀死Tomcat线程

    print "\033[1;35m正在执行杀死Tomcat线程...\033[0m"

    ssh.cmd("ps aux | grep " + self.tomcaturl + " | grep -v grep | awk '{print $2}' | xargs kill -9")

    print ""

    # 创建Tomcat7文件夹

    print "\033[1;35m创建Tomcat7文件夹...\033[0m"

    print ssh.cmd("rm -rf " + self.tomcaturl + ";mkdir " + self.tomcaturl)

    print ""

    # 上传Tomcat安装包

    print "\033[1;35m上传Tomcat安装包...\033[0m"

    print ssh.upload(self.localurl, self.romateurl)

    print ""

    # 解压并安装Tomcat

    print "\033[1;35m解压并安装Tomcat...\033[0m"

    print ssh.cmd("tar -xzf " + self.romateurl + " -C "+ self.tomcaturl +" --strip-components 1")

    print ""

    # 启动tomcat

    print "\033[1;35m启动tomcat...\033[0m"

    print ssh.cmd("nohup " + self.tomcaturl + "/bin/startup.sh")

    print ""

    # 查看tomcat日志

    print "\033[1;35m查看tomcat日志...\033[0m"

    print ssh.cmd("cat " + self.tomcaturl + "/logs/catalina.out")

    print ""

    # 检查tomcat是否启动

    print "\033[1;35m检查tomcat是否启动...\033[0m"

    print ssh.cmd("ps aux | grep " + self.tomcaturl + " | grep -v grep | awk '{print $2}'")

    # 关闭ssh

    ssh.close()

    if __name__ == "__main__":

    host = "172.20.10.10"

    port = 22

    username = "root"

    password = "xxxx"

    tomcaturl = "/usr/local/tomcat7"

    localurl = "/Users/xxxx/Desktop/apache-tomcat-7.0.54.tar.gz"

    romateurl = tomcaturl + "/apache-tomcat-7.0.54.tar.gz"

    dep = deployTomcat(host, port, username, password, tomcaturl, localurl, romateurl)

    dep.install()

    第三:上传应用并启动tomcat

    #coding=utf-8

    import paramiko

    import time

    # 创建SSH客户端用来远程连接服务器进行操作

    class sshClient:

    # 构造函数,创建一个ssh服务对象

    def __init__(self, host, port, username, password):

    self.host = host

    self.port = port

    self.username = username

    self.password = password

    try:

    self.ssh = paramiko.SSHClient()

    self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

    self.ssh.connect(self.host, self.port, self.username, self.password)

    except Exception as e:

    print "ssh链接失败:①请检查ip、端口、用户名、密码是否错误;②请检查目标服务是否开启ssh并关闭防火墙。", e

    # 调用远程命令的函数

    def cmd(self, cmd):

    try:

    '''

    stdin, stdout, stderr = self.ssh.exec_command(cmd, get_pty=True)

    err = stderr.readlines()

    if len(err) > 0:

    print err

    for std in stdout.readlines():

    print std,

    '''

    transport = self.ssh.get_transport()

    channel = transport.open_session() # 连接成功后打开一个channel

    channel.get_pty() # 打开远程的terminal

    channel.exec_command(cmd) # 执行cmd命令

    while True:

    result = channel.recv(1024) # 接收socket返回的数据

    if not result:

    break

    print result,

    channel.close()

    except Exception as e:

    print "cmd执行失败。", e

    # 下载远程地址的文件

    def down(self, localdir, romatedir):

    try:

    ftp = self.ssh.open_sftp()

    ftp.get(romatedir, localdir)

    ftp.close()

    except Exception as e:

    print "文件下载失败。", e

    # 上传本地文件到远程地址

    def upload(self, localdir, romatedir):

    try:

    ftp = self.ssh.open_sftp() # 通过ssh打开ftp通讯通道

    ftp.put(localdir, romatedir)

    ftp.close()

    except Exception as e:

    print "文件上传失败。", e

    # 关闭ssh链接

    def close(self):

    self.ssh.close()

    # 创建自动化部署Tomcat服务,用于自动化部署和运行

    class deployTomcat:

    def __init__(self, host, port, username, password, tomcaturl, localwarurl, romatewarurl):

    self.host = host

    self.port = port

    self.username = username

    self.password = password

    self.tomcaturl = tomcaturl

    self.localwarurl = localwarurl

    self.romatewarurl = romatewarurl

    def run(self):

    ssh = sshClient(self.host, self.port ,self.username, self.password)

    '''

    自动化部署tomcat

    1.关闭tomcat服务

    2.杀死tomcat线程

    3.备份应用

    4.删除老应用

    5.上传代码war包

    6.启动tomcat服务

    7.打印tomcat日志

    8.检查tomcat是否启动

    '''

    print ""

    # 关闭Tomcat服务

    print "\033[1;35m正在执行关闭Tomcat服务...\033[0m"

    print self.tomcaturl + "/bin/shutdown.sh"

    ssh.cmd(self.tomcaturl + "/bin/shutdown.sh")

    print ""

    # 杀死Tomcat线程

    print "\033[1;35m正在执行杀死Tomcat线程...\033[0m"

    ssh.cmd("ps aux | grep " + self.tomcaturl + " | grep -v grep | awk '{print $2}' | xargs kill -9")

    print ""

    # 备份应用

    print "\033[1;35m正在执行备份应用...\033[0m"

    ssh.cmd('cp -r ' + self.tomcaturl + '/webapps/webtest ' + self.tomcaturl + '/webtest_' + time.strftime('%Y%m%d_%H%M%S'))

    print ""

    # 删除老版本应用

    print "\033[1;35m正在执行删除老版本应用...\033[0m"

    ssh.cmd('rm -rf ' + self.tomcaturl + '/webapps/webtest*')

    print ""

    # 上传代码war包

    print "\033[1;35m正在执行上传代码war包...\033[0m"

    ssh.upload(self.localwarurl, self.romatewarurl)

    print ""

    # 启动tomcat

    print "\033[1;35m正在执行启动Tomcat服务...\033[0m"

    ssh.cmd("nohup " + self.tomcaturl + "/bin/startup.sh")

    print ""

    # 查看tomcat日志

    print "\033[1;35m正在执行查看Tomcat日志...\033[0m"

    ssh.cmd("cat " + self.tomcaturl + "/logs/catalina.out")

    print ""

    # 检查tomcat是否启动

    print "\033[1;35m正在执行检查Tomcat是否启动...\033[0m"

    ssh.cmd("ps aux | grep " + self.tomcaturl + " | grep -v grep | awk '{print $2}'")

    # 关闭ssh

    ssh.close()

    if __name__ == "__main__":

    #ssh = sshClient("172.20.10.5", 22, "root", "xxx")

    #ssh.cmd("cd /etc;ls -i")

    #ssh.cmd("top")

    #ssh.cmd("ping www.baidu.com")

    '''

    自动化部署tomcat

    1.关闭tomcat服务

    2.杀死tomcat线程

    3.备份应用

    4.删除老应用

    5.上传代码war包

    6.启动tomcat服务

    7.打印tomcat日志

    8.检查tomcat是否启动

    '''

    host = "172.20.10.5"

    port = 22

    username = "root"

    password = "xxx"

    tomcaturl = "/usr/local/tomcat7"

    localwarurl = "/Users/xxx/Desktop/webtest.war"

    romatewarurl = tomcaturl + "/webapps/webtest.war"

    print "自动化部署Tomcat服务,IP ",host, "开始"

    dep = deployTomcat(host, port, username, password, tomcaturl, localwarurl, romatewarurl)

    dep.run()

    print "自动化部署Tomcat服务,IP ", host, "结束"

    host = "172.20.10.6"

    port = 22

    username = "root"

    password = "xxx"

    tomcaturl = "/usr/local/tomcat7"

    localwarurl = "/Users/xxx/Desktop/webtest.war"

    romatewarurl = tomcaturl + "/webapps/webtest.war"

    print ""

    print "自动化部署Tomcat服务,IP ", host, "开始"

    dep = deployTomcat(host, port, username, password, tomcaturl, localwarurl, romatewarurl)

    dep.run()

    print "自动化部署Tomcat服务,IP ", host, "结束"

    展开全文
  • 换句话说官网默认给的jbpm6-console.war是jboss版本的,怎么转化成tomcat的?
  • 我在大学做了几个能看的过去的项目,但是不知道怎么用域名,Tomcat等挂在网上,让其他人也能访问
  • 使用的ssh框架搭建的后台,如何将后台的程序部署到tomcat上,当客户端发送请求时,只要打开tomcat服务器,客户端发送的请求就能得到回应,请问如何才能做到?谢谢
  • MyEclipse10.6自带新版m2e,只需在Run Configuration的Maven Build中new一个输入configuration,并在goal中输入tomcat:run,不需要任何配置即可发布内置的tomcat中。如果要发布外置的tomcat,复制war包过去即可...
    MyEclipse10.6自带新版m2e,只需在Run Configuration的Maven Build中new一个输入configuration,并在goal中输入tomcat:run,不需要任何配置即可发布到内置的tomcat中。如果要发布到外置的tomcat,复制war包过去即可,或者在MyEclipse的Servers中配置一个也可。
    展开全文
  • <div><p>该提问来源于开源项目:hs-web/hsweb3-demo</p></div>
  • 一个项目的构建过成通常包括清理、编译、测试、打包、集成测试、验证、部署等。Maven从中抽取了一套完善的、易扩展的生命周期。Maven的生命周期是抽象的,其中的具体任务都交由插件来完成。Maven为大多数构建任务...
  • 然后就是哪里可以下使用struts2的网站源码。。。 小白对网站开发一窍不通%>_ 系统是centos7的,标准网页服务器安装。。。没有界面没有界面。。。
  • java web项目 源码导出jar后怎么部署到 我用myeclipse把源码导出成一个jar了,在tomcat webapps下把class下的文件都删除了,再把这个jar放到lib下可是tomcat启动时提示找不到我的类,怎么办?
  • 有两种方式可以让生成的war文件在Tomcat服务器中 webapps目录下跑起来,浏览器进行...就是你添加到Tomcat webapps目录下项目没有与你的IEDEA进行关联。要是关联了就可以实时得更新webapps目录里的文件,就可以实时得访
  • 一个写好的JAVA项目(不是web项目),已经封装出一个接口,不知道怎么部署到tomcat上才能够让别人远程调用 注:不用部署到服务器上,在本地跑就可以了 求助各位大神
  • 怎么将Web项目部署到tomcat? 有2种方法部署: 方法一:War包部署 把Web项目打成War包,将War包放到tomcat的/webapps目录下,然后启动tomcat。当启动tomcat的时候,tomcat就会解包War文件的内容至相同文件名的目录下...
  • 我们把部署到Tomcat的web项目,只要一启动Tomcat,那么我们的web项目也自动运行,这里申明一下,我的web项目是用的SSM框架。 方法一:构造方法 在标记@controller的控制类中利用构造防范执行初始化方法来启动项目。 ...
  • 这种项目怎么部署运行啊。。。不知道怎么部署到tomcat了。。
  • 1、最原始的做法是将java程序编译成.class文件,复制...通过add和remove来部署你的项目,通过publish来部署项目到tomcat你所设定的位置,默认是[盘符]:\workspace.metadata.plugins\org.eclipse.wst.server.c...
  • 怎么把war包部署到tomcat

    千次阅读 2018-09-29 15:47:45
      war包的发布是开发人员经常应用的防范,在客户现场用war包发布项目.本文将从war包的制作发布成功详细讲解. ... myeclipse,tomcat。 方法/步骤 导出war包,右键选择要发布的项目--选择导出 ...
  • 方法一 1,先将eclipse里的项目打包成war包 右击项目-->export-->war file,出现这样一个界面 ...2、直接将打包成war包的项目文件件拷贝到Tomcat 文件下webapps目录中 点击bin目录下的startup.bat启动服务器
  • 但是也有一定的需求,会使用外部tomcat部署项目。下面来看: 1.新建项目boot-tomcat-test 2.pom依赖:(添加spring-boot-starter-tomcat依赖,打包方式为war) <?xml version="1.0"...
  • 概述: 单独用main 方法测试路径,默认是相对于工程名的目录,...既然是部署到tomcat,就以tomcat安装目录为根目录,那么怎么获取tomcat的目录呢? String dir = System.getProperty("catalina.home");  tomcat
  • 原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少...这里就有个问题,是怎么把Eclipse中的网站项目自动部署到tomcat中。
  • 我是刚接触前段用flex后台用...请问这样的项目怎么部署到tomcat中,如果要手动部署怎么部署?我是新手菜鸟,希望大神能帮我指点详细一点,谢谢,谢谢,谢谢............快过年了,祝您,身体健康!阖家欢乐!财源广进!
  • 这篇文章是看的网上的一个问答,比较基础,先存在我的blog里吧 In this tutorial, we ...Maven-Tomcat plugin to package and deploy a WAR file to Tomcat, both in Tomcat 6 and 7. Libraries used : Maven 3T
  • 症状 在eclipse中是比较正常的,tomcat在eclipse里面能正常启动,而...关闭eclipse里面的tomcat,在tomcat安装目录下双击startup.bat手动启动tomcat服务器。访问htt://localhost:8080/能正常访问tomcat管理页面。 ...
  • windows下怎么把jsp部署到tomcat服务器

    万次阅读 2014-05-04 20:21:03
    要建一个WEB-INF目录,否则会找不网页。(我也觉得这很没道理,而且我以前确实也不需要,但是现在的版本必须要这个目录了) 2。注意大小写。如果你的目录是Test,那么http://localhost:8080/test/first.jsp就会...
  • Jar包不同于War包,War需要部署到tomcat下,然后启动tomcat服务之后才可以使用,而Jar包完全不需要放到tomcat下,只需要安装Java及配置环境变量后,通过命令即可以启动,那么如何把Jar包部署到服务器上,小编介绍...
  • eclipse怎么部署项目到tomcat

    千次阅读 2012-09-24 00:23:35
    至此,设置完成,以后复制一个项目,只需在项目zb4,右键,选择Properties,再选择Web Project Settings修改下项目名称就可以自动部署到Tomcat的Webapps目录下了。见图12。        其实第二部的关键...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 911
精华内容 364
关键字:

怎么部署到tomcat