Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Tomcat_02_应用部署

Tomcat_02_应用部署

作者头像
Cyylog
发布于 2020-08-19 02:54:12
发布于 2020-08-19 02:54:12
75700
代码可运行
举报
文章被收录于专栏:Cyylog技术Cyylog技术
运行总次数:0
代码可运行
6、WEB站点部署

上线的代码有两种方式:

第一种方式是直接将程序目录放在webapps目录下面,这种方式大家已经明白了,就不多说了。

第二种方式是使用开发工具将程序打包成war包,然后上传到webapps目录下面。

1、使用war包部署web站点
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@web03 webapps]# pwd
/application/tomcat/webapps
[root@web03 webapps]# wget http://10.0.0.1/apache/tomcat/memtest.war

站点主动解压部署

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@web03 webapps]# ls
docs  examples  host-manager  logs  manager  memtest  memtest.war  ROOT

浏览器访问:

http://10.0.0.17:8080//memtest/meminfo.jsp

2、自定义默认网站目录

上面访问的网址为 http://10.0.0.3:8080/memtest/meminfo.jsp

现在想访问格式为http://10.0.0.3:8080/meminfo.jsp

方法一

将meminfo.jsp或其他程序放在tomcat/webapps/ROOT目录下即可。因为默认网站根目录为tomcat/webapps/ROOT

方法二

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@web03 ~]# vim /application/tomcat/conf/server.xml +125
…… #添加上这两行
        <Context path="" docBase="/application/tomcat/webapps/memtest" debug="0" reloadable="false" crossContext="true"/>
        <Context path="/40team" docBase="/application/tomcat/webapps/memtest" debug="0" reloadable="false" crossContext="true"/>
……

修改配置文件后,要重启服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@web03 ~]# /application/tomcat/bin/shutdown.sh 
[root@web03 ~]# /application/tomcat/bin/startup.sh
3、部署开源站点(jpress)

jpress官网:http://jpress.io

下载地址:https://github.com/JpressProjects/jpress

​ 第一个里程碑:安装配置数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum -y install mariadb-server
systemctl start mariadb.service

​ #配置数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql
create database jpress DEFAULT CHARACTER SET utf8;
grant all on jpress.* to jpress@'localhost' identified by '123456';
exit

​ 第二个里程碑:jpress站点上线

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@web03 webapps]# pwd
/application/tomcat/webapps
[root@web03 webapps]# wget http://10.0.0.1/apache/tomcat/jpress-web-newest.war

​ 第三个里程碑:浏览器访问

浏览器访问: http://10.0.0.17:8080/jpress-web-newest/install

填写数据库信息

设置站点名称等

安装完成

重启tomcat服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@web03 ~]# /application/tomcat/bin/shutdown.sh 
[root@web03 ~]# /application/tomcat/bin/startup.sh
7、Tomcat多实例配置

虚拟主机:nginx 多个Server标签(域名,ip,端口) 进程数量固定 master+worker

多实例(多进程):同一个程序启动多次,分为两种情况:

第一种:一台机器跑多个站点;

第二种:一个机器跑一个站点多个实例,配合负载均衡

1、复制程序文件
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /application/tools/
tar xf apache-tomcat-8.0.27.tar.gz
cp -a apache-tomqcat-8.0.27 tomcat8_1
cp -a apache-tomcat-8.0.27 tomcat8_2

修改端口,以启动多实例。多实例之间端口不能一致

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sed -i 's#8005#8011#;s#8080#8081#' tomcat8_1/conf/server.xml
sed -i 's#8005#8012#;s#8080#8082#' tomcat8_2/conf/server.xml
[root@web03 application]# diff tomcat8_1/conf/server.xml tomcat8_2/conf/server.xml
22c22
< <Server port="8011" shutdown="SHUTDOWN">
---
> <Server port="8012" shutdown="SHUTDOWN">
67c67
<          Define a non-SSL/TLS HTTP/1.1 Connector on port 8081
---
>          Define a non-SSL/TLS HTTP/1.1 Connector on port 8082
69c69
<     <Connector port="8081" protocol="HTTP/1.1"
---
>     <Connector port="8082" protocol="HTTP/1.1"
75c75
<                port="8081" protocol="HTTP/1.1"
---
>                port="8082" protocol="HTTP/1.1"

   将配置好的tomcat程序打包,以备之后使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar zcf muti_tomcat8.tar.gz ./tomcat8_1 ./tomcat8_2

启动tomcat多实例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/application/tomcat8_1/bin/startup.sh 
/application/tomcat8_2/bin/startup.sh

检查端口是否启动

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@web03 tomcat8_1]# netstat -lntup |grep java
tcp6   0   0 127.0.0.1:8011    :::*    LISTEN   31906/java
tcp6   0   0 127.0.0.1:8012    :::*    LISTEN   31932/java
tcp6   0   0 :::8080           :::*    LISTEN   31812/java
tcp6   0   0 :::8081           :::*    LISTEN   31906/java
tcp6   0   0 :::8082           :::*    LISTEN   31932/java
tcp6   0   0 127.0.0.1:8005    :::*    LISTEN   31812/java
tcp6   0   0 :::8009           :::*    LISTEN   31812/java

将每个实例的网页进行区分

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo 8081 >>/application/tomcat8_1/webapps/ROOT/index.jsp 
echo 8082 >>/application/tomcat8_2/webapps/ROOT/index.jsp
2、在浏览器访问,进行测试

检查多实例的启动

http://10.0.0.17:8082

http://10.0.0.17:8081

8、tomcat反向代理集群
1、负载均衡器说明
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@lb01 ~]# cat /etc/redhat-release 
CentOS release 6.9 (Final)
[root@lb01 ~]# uname -a
Linux lb01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@lb01 ~]# getenforce 
Disabled
[root@lb01 ~]# /etc/init.d/iptables status
iptables: Firewall is not running.

负载均衡软件使用nginx,详情参照

http://www.cnblogs.com/clsn/p/7750615.html

2、配置负载均衡器

备份原配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mv  /application/nginx/conf/nginx.conf{,.20171127}
    egrep -v '#|^$' /application/nginx/conf/nginx.conf.default  > /application/nginx/conf/nginx.conf

​ 配置文件内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@lb01 ~]# cat /application/nginx/conf/nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    upstream web_pools {
        server 10.0.0.17:8081;
        server 10.0.0.17:8082;
    }

    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.jsp index.htm;
        proxy_pass http://web_pools;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

​ 配置完成后重启nginx服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/application/nginx/sbin/nginx  -s stop 
/application/nginx/sbin/nginx
3、使用命令进行访问测试

使用curl 命令进行测试,tail进行关键字提取

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@lb01 ~]# curl -s 10.0.0.5|tail -1
8081
[root@lb01 ~]# curl -s 10.0.0.5|tail -1
8082

使用curl 命令进行测试,awk进行关键字提取

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@lb01 ~]# curl -s 10.0.0.5|awk 'END{print}'
8082
[root@lb01 ~]# curl -s 10.0.0.5|awk 'END{print}'
8081

使用curl 命令进行测试,sed进行关键字提取

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@lb01 ~]# curl -s 10.0.0.5|sed -n '$p'
8082
[root@lb01 ~]# curl -s 10.0.0.5|sed -n '$p'
8081
4、在浏览器上进行访问测试

​ 建议使用google浏览器chrome 的隐身模式进行访问,使用ctrl+f5 进行强制刷新

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用nginx发布tomcat站点
之前我们在访问的时候使用的都是类似http://serverip/test或者http://serverip/jpress这种字样的URL,使用起来比较麻烦,所以呢,我们可以将tomcat和nginx结合在一起,可以通过nginx以下功能发布:
星哥玩云
2022/09/15
5600
企业级Tomcat部署实践及安全调优
惨绿少年
2017/12/27
2.3K0
企业级Tomcat部署实践及安全调优
tomcat详解
1.jre-jdk-jvm介绍 jre java runtime enviroment java运行环境 jdk java delelopment kit java开发环境(很多内容) = jre + 额外java工具 jvm java virtual machine java虚拟机 **1份代码 想在不同的系统使用 **java 程序代码 运行在java虚拟机中 只要系统能有java环境(java虚拟机) 就可以运行代码 **1份代码 处处使用问题 代码可移植性 **对于 java虚拟机 一般关注 内存
派大星在吗
2021/12/17
1.4K0
Tomcat进阶操作
这个文件的内容可以效仿系统自带的manager页面认证的配置文件/application/tomcat/webapps/manager/WEB-INF/web.xml进行配置
仙人技术
2020/04/29
6580
Java Web之Nginx+Tomcat+Memcached配置
1、配置多个Tomcat 复制本机上的Tomcat,分别为apache-tomcat-8.0.26-1,apache-tomcat-8.0.26-2,apache-tomcat-8.0.26-3,表示
YungFan
2018/05/03
1K0
Java Web之Nginx+Tomcat+Memcached配置
Nginx+Tomcat多实例及负载均衡配置
采用nginx的反向代理负载均衡功能,配合后端的tomcat多实例来实现tomcat WEB服务的负载均衡
民工哥
2020/09/16
6850
Tomcat多实例
Tomcat是一个单进程多线程的软件,在很早之前,我们都认为这种模式挺好的,因为早些年的CPU都是单核的,但是现在都是多核心的CPU了,如果还是一个进程的话呢,就比较浪费CPU资源,所以本节课我们要讨论下如果多开几个tomcat,也就是我们本节课要实现的是tomcat的多实例,这样可以提高资源的利用率,在之前的课程中我们提到过tomcat有三个端口8005 8009 8080,其中8005是用来关闭tomcat的端口,8080是访问端口,8009是ajp协议使用的端口,如果我想在一台机器上开启多个tomcat的话,首先要保证的就是端口不能冲突,否则开不了。
星哥玩云
2022/09/15
4450
Tomcat多实例
Tomcat_03_监控
查考:http://www.oracle.com/technetwork/java/javase/downloads/index.html
Cyylog
2020/08/19
5420
keepalived实现服务高可用
惨绿少年
2017/12/27
2.7K0
keepalived实现服务高可用
第七章·Nginx实现动静分离
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
9730
第七章·Nginx实现动静分离
Docker下Nginx+Tomcat实现负载均衡
本文介绍在Docker上配置负载均衡,启动一个nginx容器,三个tomcat容器。
菲宇
2019/06/12
1.7K0
Docker下Nginx+Tomcat实现负载均衡
linux上部署tomcat
待完善。 apache-tomcat-7.0.90/webapps/examples/servlets/index.html apache-tomcat-7.0.90/webapps/examples/servlets/reqheaders.html apache-tomcat-7.0.90/webapps/examples/servlets/reqinfo.html apache-tomcat-7.0.90/webapps/examples/servlets/reqparams.html apach
爱明依
2019/03/12
8.3K0
Tomcat自带的Session共享方案实施记录
一般来说,在多个tomcat集群业务中,session会话共享是必须的需求,不然前端nginx转发过来的请求不知道之前请求在哪台tomcat节点上,从而就找不到session以至于最终导致请求失败。要实现tomcat session共享有多种方案,今天介绍下使用tomcat自带的cluster方式,在多个tomcat节点间自动实时复制session信息,配置起来很简单。tomcat自带的这种session共享方案,对于规模较小的tomcat集群来说够用了,但这个方案的效率比较低,在大并发下表现并不好。所以大规模的tomcat集群还是建议使用memcache或者redis来实现session共享。
洗尽了浮华
2018/09/28
1.1K0
Tomcat自带的Session共享方案实施记录
学习笔记0528----Tomcat配置
我们已经学过了LAMP和LNMP架构;针对的开发语言是PHP;可以说PHP是一门开发Web程序非常流行的语言;早期的比较流行的是asp,是在windows平台上运行的一种编程语言;但是因为安全性不高;所以越来越多做网站的人用Php去开发网站,相对来说也是比较安全的。 除了PHP外,还有一门语言叫java;java是一门非常庞大的开发语言;不仅仅是可以开发开网站;也可以开发大型的软件、工具、甚至是游戏都可以;tomcat实际上是一个中间件,用来运行Java语言写的网站;那我们Php写的代码,要用php去解析;java就要用tomcat加上JDK一起去解析。
嘻哈记
2020/11/24
4070
Tomcat站点部署
Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在一台机器上配置好web 服务器,就代表可利用它响应别人访问自己建立的网站页面的请求。Tomcat的安装过程很简单,这里直接跳过(需要的小伙伴可以看之前的公众号文章)。
胡齐
2019/11/20
1.6K0
Tomcat站点部署
nginx+tomcat负载均衡配置
前几天,我们讲过了【互联网常见架构模式 之 nginx负载均衡】(忘记的童鞋,点击上面链接或者输入关键词:nginx\负载均衡,即可重新阅读),重点是概念和理论,以及负载的原理,今天我们来讲下,具体如何去配置负载,web服务器以Tomcat为例。 负载均衡的目的是为了解决单个节点压力过大,造成Web服务响应过慢,严重的情况下导致服务瘫痪,无法正常提供服务。 我们通常称对某一台机器的访问量称为负载量,如何将一个用户的请求,合理的分配到一台能快速响应用户请求的服务
码神联盟
2018/04/02
9820
nginx+tomcat负载均衡配置
Tomcat_01_简介
Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
Cyylog
2020/08/19
4530
Tomcat架构配置
一、配置监听端口 之前我们已经配置了Tomcat的基础架构,也可以使用IP+8080去访问,但是有一个问题如何去更改这个端口呢? 1.1 打开配置文件 [[email protected]03 sbin]# vim /usr/local/tomcat/conf/server.xml 搜索8080 更改80端口: Connector port="8080" protocol="HTTP/1.1" 修改为: Connector port="80" protocol="HTTP/1.1" 1.2 重启服务
老七Linux
2018/05/09
6520
第九章·Ningx HTTPS 实践
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
5950
第九章·Ningx HTTPS 实践
一个Tomcat 如何部署多个项目?附多种解决方案及详细步骤!
此文源自一次多年前面试的面试题,民工哥将它总结出来分享给大家,希望对大家有所帮助,或者今后的面试中说不定会用的上。
民工哥
2020/09/15
2.3K0
一个Tomcat 如何部署多个项目?附多种解决方案及详细步骤!
相关推荐
使用nginx发布tomcat站点
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验