[Tomcat]部署项目:saas-portal.war

版权声明:无需授权即可转载,甚至无需保留以上版权声明... ... https://blog.csdn.net/qq_28296925/article/details/81182837

tomcat中部署项目:saas-portal.war

前言:
在wkvm1~10中分别是10台虚拟服务器。
wkvm1:nginx
wkvm2:mysql (未用,改为192.168.0.50)
wkvm3:redis
wkvm4:z1-saas-posapi /posapi (暂未部署)
wkvm6:z0-http-service /out (暂未部署)
wkvm7:z0-job-service /job (暂未部署)
wkvm8:z2-saas-business /op (暂未部署)


wkvm5:z0-web-service /bs (已经部署 )
wkvm9:z1-saas-portal /portal (本节开始部署 )
wkvm10:zd1-erp-chain /zd1/erp (已经部署 )


本篇文章记录:在wkvm9中部署z1-saas-portal项目。

一、环境配置

1、配置项目名称及路径

[root@wkvm9 webapps]# vim /usr/local/tomcat/conf/server.xml

<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

  <Service name="Catalina">
    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" 
prestartminSpareThreads="true" />
    <Connector port="8080" 
 connectionTimeout="20000" redirectPort="8443" acceptorThreadCount="1" 
    maxThreads="300" acceptCount="300" dis
maxHttpHeaderSize="8192" URIEncoding="UTF-8" compression="on" 
compressionMinSize="2048" 
compressableMimeType="text/html,text/xml,text/javascript,text/css,
text/plain,application/javascript,application/xml,application/xhtml+xml,
application/json,image/jpeg,image/gif,image/png" executor="tomcatThreadPool" />

    <Engine name="Catalina" defaultHost="www.smartpos.top">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" 
        resourceName="UserDatabase"/>
      </Realm>

      <Host name="www.smartpos.top" appBase="/webapps" autoDeploy="false" unpackWARs="true" >
        <Alias>smartpos.top</Alias>
reloadable="false" privileged="false" antiResourceLocking="false" />
      </Host>
    </Engine>
  </Service>
</Server>

修改上面中的<Host></Host>标签中的内容。如下

<Host name="www.smartpos.top" appBase="/webapps" autoDeploy="false" unpackWARs="true" >
        <Alias>smartpos.top</Alias>
         <Context path="/portal" docBase="/var/www/webapps/saas-portal" 
         reloadable="false" privileged="false" antiResourceLocking="false" />
      </Host>

含义
appBase="/webapps":我在linux系统中的/webapps下放置了一个小的ping.war包,tomcat启动之后,便可以测试项目是否启动成功。
<Context path="/portal" docBase="/var/www/webapps/saas-portal">:path="/portal"是项目在nginx中配置的反向代理的入口,可以直接输入nginx的IP/portal访问下面的项目,指向docBase="/var/www/webapps/saas-portal"中,找到项目内容。docBase指向的是项目的软连接地址,其目的是为了方便,以后发布新版本,更改版本指向路径,不用再server.xml中修改了,只更改软连接指向地址就好了。

2、配置tomcat、session的redis ip、password

[root@wkvm9 webapps]# vim /usr/local/tomcat/conf/context.xml

<?xml version='1.0' encoding='utf-8'?>

<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

    <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
    <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
            password="ftrend"
            database="0"
            maxInactiveInterval="60"
            sentinelMaster="master1"
            sentinels="192.168.0.13:26379"
        />

</Context>

注意:
- 修改passwordftrend(这是我的redis密码)。
- 修改sentinels192.168.0.13:26379(我的redis部署在13这台服务器上的)。

3、修改项目配置文件

从已经发布该项目的环境中获取配置文件,下载该配置文件,并进行修改。
在192.168.0.50环境中(是已经发布过该项目的环境),获取项目的源配置文件。
- 显示容器:docker ps -a;找到指定的项目
- 进入到该项目中去:cd /tomcat/test_51/webapps/z2/
- 进入到最新版本的目录中去 :cd z2-op1-2.6.2/WEB-INF/classes/
- 下载这几个配置文件:sb -be application.yml logback.xml logback.groovy pro.properties ( logback.xml , logback.groovy这两个文件只有一个 )。

1)application.yml 配置数据库的(更改数据库ip、user、password)
2)logback.xml(spring-boot) logback.groovy(groovy) 日志输出配置(更改日志数据ip、user、password)
3)pro.properties 程序配置参数(更改redis ip、password) deploy.env=dev_41
在这里:日志数据库url打印到192.168.0.31:3306;
数据库用的是url: jdbc:mysql://192.168.0.50:3306/saas-db
redis:redis.sentinel.connect=192.168.0.13:26379

二、部署项目

1、停止tomcat,并删除tomcat运行日志

systemctl stop tomcatd:停止tocmat
systemctl status tomcatd:查看tomcat状态
rm -rf /usr/local/tomcat/logs/catalina.*:删除tomcat运行日志

2、创建项目解压目录

先去192.168.0.78运维官网查看test51releases中的指定的war包最新版本,创建解压目录,命名对应这个war包的区 ,项目名,版本号
- mkdir -p /tomcat/dev_41/webapps/z1/z1-portal1-2.14.1:创建解压目录。(前面的/tomcat/dev_41/webapps/固定,dev_41根据要发布的环境名来定,后面/z1/z1-portal1-2.14.1,根据项目所发布的区及项目的集群,版本号来定)
- /nfs/docker/wars/releases:进入到挂载盘 获取war包
- ll | grep saas-portal-2.14.1.war:查看war包

3、手动解压war包到指定目录

unzip -oq /nfs/docker/wars/releases/saas-portal-2.14.1.war -d /tomcat/dev_41/webapps/z1/z1-portal1-2.14.1/

4、删除解压的配置文件 (环境部署中的那三个文件)

  • cd /tomcat/dev_41/webapps/z1/z1-portal1-2.14.1/WEB-INF/classes:进入到目标解压目录/WEB-INF/classes中。

  • ll| grep application.yml;ll| grep logback.groovy或者logback.xml;ll| grep pro.properties:查看三个文件是否存在。

  • rm -rf application.yml; rm -rf logback.groovy;rm -rf pro.properties:删除掉这三个文件。

5、拷贝自己更改的配置文件覆盖

rz -be

6、创建软连接 到新解压的目录

  • cd /var/www/webapps:进入到项目软连接创建位置。
  • ln -s /tomcat/dev_41/webapps/z1/z1-portal1-2.14.1/ /var/www/webapps/saas-portal: 创建项目的软连接。

7、启动tomcat并查看启动日志

systemctl start tomcatd:启动tomcat
systemctl status tomcatd:查看tomcat状态
tail -f -n 250 /usr/local/tomcat/logs/catalina.out:查看启动日志(线上的 catalina.out 按钮)。

8、测试项目启动是否成功

curl 'localhost:8080/ping/ping.js':显示ok便成功了。
:ping/ping.js,是自己做的一个测试tomcat是否启动成功的小示例。放到的/webapps目录下了。

三、配置数据库

这里写图片描述

最后,重启配置nginx服务,并重启即可

注:删除软连接的命令

rm -rf ./test_chk_ln:正确方式。

rm -rf ./test_chk_ln/:错误方式,这样就会把原来test_chk下的内容删除。

猜你喜欢

转载自blog.csdn.net/qq_28296925/article/details/81182837