Tomcat运维

一、Tomcat简介

Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。

Tomcat和Nginx、Apache(httpd)、Web服务器一样,具有处理HTML页面的功能不过Tomcat处理静态HTML的能力不如Nginx/Apache服务器。

  一个tomcat默认并发是200(官方),可以修改,但实际用的时候也就200并发左右。

使用方案:

Tomcat运维_第1张图片

建议使用Nginx和Tomcat配合,Nginx处理静态,Tomcat处理动态程序 方案三中后端Tomcat可以运行在单独的主机,也可以是同一台主机上的多实例

Tomcat官网:

Tomcat好帮手---JDK

 JDK是 Java 语言的软件开发工具包,JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

JDK下载面页:

Java Downloads | Oracle

 安装时候选择tomcat软件版本要与程序开发使用的版本一致。jdk版本要进行与tomcat保持一致。

二、系统环境说明

1、关闭防火墙,selinux

systemctl stop firewalld && setenforce 0

 2、安装JDK

上传jdk1.8到服务器。安装jdk

tar xzf jdk-8u191-linux-x64.tar.gz -C /usr/local/
mv /usr/local/jdk1.8.0_191  /usr/local/jdk
echo "export PATH=/usr/local/jdk/bin:$PATH" >> /etc/profile
source /etc/profile

3、安装Tomcat

创建一个目录用于存放tomcat

mkdir /data/application -p

cd
 
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.49/bin/apache-tomcat-8.5.49.tar.gz

Tomcat运维_第2张图片

wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.49/bin/apache-tomcat-8.5.49.tar.gz --no-check-certificate

tar xzf apache-tomcat-8.5.49.tar.gz -C /data/application/

cd /data/application/

mv apache-tomcat-8.5.49/ tomcat

设置环境变量

echo "export PATH=/data/application/tomcat/bin:$PATH" >> /etc/profile

source /etc/profile

Tomcat运维_第3张图片

三、Tomcat目录介绍

1、tomcat主目录介绍

Tomcat运维_第4张图片

2、webapps目录介绍

Tomcat运维_第5张图片

3、Tomcat配置介绍(conf)

Tomcat运维_第6张图片

4、Tomcat的管理

 

我们已经设置了环境变量所以直接 : startup.sh 启动  shutdown.sh 关闭

但是如果布置多个实例,就要去对应的tomcat包里面启动和关闭 

注意:tomcat未启动的情况下使用shutdown脚本,会有大量的输出信息。  

Tomcat运维_第7张图片

端口:

8005:这个端口负责监听关闭Tomcat的请求 shutdown:向以上端口发送的关闭服务器的命令字符串。

8009: 与其他http服务通信接口。(也可以没有)

8080: 建立http也就是客户端访问连接用。可以修改

 查看日志:

tail -f /data/application/tomcat/logs/catalina.out

扩展:解决Tomcat启动慢的方法

Tomcat启动慢主要原因是生成随机数的时候卡住了,导致tomcat启动不了。
yum install rng-tools # 安装rngd服务(熵服务,增大熵池)
systemctl start rngd  # 启动服务

四、Tomcat 配置管理页面(了解)

vim /usr/local/tomcat/conf/tomcat-users.xml 

 添加:( #一定要包含在这个标签"里面")





vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml 

vim /usr/local/tomcat/webapps/manager/META-INF/context.xml 

修改为如图所示:

Tomcat运维_第8张图片

server.xml配置文件

主配置文件 server.xml


  

  
  

  
  
  
      

      
      
  


  
    

    
    

    

    
      

      
        

        
        

      

      
        

        

        
        

      

      

    
  

Connector主要参数说明

port:指定服务器端要创建的端口号,并在这个端口监听来自客户端的请求。
protocol:连接器使用的协议,支持HTTP和AJP。AJP(Apache Jserv Protocol)专用于tomcat与apache建立通信的.
redirectPort:指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号
maxThreads:接收最大请求的并发数
connectionTimeout  指定超时的时间数(以毫秒为单位)

Tomcat运维_第9张图片 host参数详解

host:表示一个虚拟主机
name:指定主机名
appBase:应用程序基本目录,即存放应用程序的目录.一般为appBase="webapps",相对于CATALINA_HOME而言的,也可以写绝对路径。
unpackWARs:如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序
autoDeploy:在tomcat启动时,是否自动部署 

 

五、WEB站点部署

上线的代码有两种方式:

第一种方式是直接将程序目录放在webapps目录下面,这种方式大家已经明白了,就不多说了。(放在webapps目录下的ROOT目录里面,浏览器访问ip:8080后面不需要指定目录,否则访问需要指定,例如:ip:8080/jenkins)

第二种方式是使用开发工具将程序打包成war包,然后上传到webapps目录下面。(这种会自动解压缩)

1、使用war包部署web站点

wget http://updates.jenkins-ci.org/download/war/2.129/jenkins.war
cd /data/application/tomcat   #进入tomcat目录
cp -r webapps/ /opt/    #将原来的发布网站目录备份
cd webapps/
rm -rf *    #清空发布网站里面的内容
cp /root/jenkins.war .   #将war包拷贝到当前目录

关闭服务,手动解压 unzip jenkins.war  完了在启动服务

#这里配置上传大于50M的文件 

/usr/local/tomcat/webapps/manager/WEB-INF/web.xml
    

Tomcat运维_第10张图片

2、自定义默认网站目录

 修改默认发布目录:

mkdir /data/application/webapp  #创建发布目录
vim /data/application/tomcat/conf/server.xml

将原来的:

改为: 

然后重启服务(先关闭,再启动),把war包拷贝到新的发布目录,它会自动解压缩 

六、Tomcat多实例配置

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

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

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

 1、复制程序文件

cd /data/application/
cp -r tomcat/ tomcat_2

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

sed -i 's#8005#8012#;s#8080#8082#' tomcat_2/conf/server.xml

echo 8081 >> tomcat/webapps/ROOT/index.jsp 
echo 8082 >> tomcat_2/webapps/ROOT/index.jsp

2、启动tomcat多实例

去各自tomcat里面启动

3、负载均衡配置

 下载一个nginx

upstream testweb {
	server 192.168.50.114:8081 weight=1 max_fails=1 fail_timeout=2s;
	server 192.168.50.114:8082 weight=1 max_fails=1 fail_timeout=2s;
}
   server {
    listen       80;
    server_name  localhost;
    access_log  /var/log/nginx/proxy.access.log  main;

    location / {
       proxy_pass http://testweb;
       proxy_set_header Host $host:$server_port;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }       
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    } 
}

配置完检查语法,然后开启,直接浏览器访问ip,无需指定端口 

你可能感兴趣的:(tomcat,运维,tomcat,服务器)