Tomcat WEB站点部署以及Tomacat多实例配置

一.WEB站点部署

1.使用war包部署web站点

安装JDK和Tomecat

jdk安装在/usr/local目录下,并改名为java,再设置环境变量

[root@java-tomcat1 local]# vim /etc/profile.d/jdk.sh
    export JAVA_HOME=/usr/local/java   #指定java安装目录
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH    #用于指定java系统查找命令的路径
    export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar  #类的路径,在编译运行java程序时,如果有调用到其他类的时候,在classpath中寻找需要的类。
检测JDK是否安装成功:
[root@java-tomcat1 local]# source /etc/profile.d/jdk.sh
[root@java-tomcat1 local]# java -version 
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

创建tomcat的安装路径为/data/application,再安装至此目录下,配置环境变量,并查看tomcat是否安装成功

设置环境变量:
[root@java-tomcat1 application]# vim /etc/profile
export TOMCAT_HOME=/data/application/tomcat   #指定tomcat的安装目录
[root@java-tomcat1 application]# source  /etc/profile

查看tomcat是否安装成功:
[root@java-tomcat1 tomcat]# /data/application/tomcat/bin/version.sh

tomcat管理

启动程序 #/data/application/tomcat/bin/startup.sh  #启动
关闭程序 #/data/application/tomcat/bin/shutdown.sh #关闭

下载jenkins的war包,进入tomcat的目录,将原来的发布网站目录备份,进入webapps后清空发布网站中的内容,将war包拷贝到webapps中,再启动tomcat

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

浏览器访问:192.168.203.145:8080/jenkins

2.自定义默认网站目录

修改默认发布目录:

[root@java-tomcat1 ~]# mkdir /data/application/webapp  #创建发布目录
[root@java-tomcat1 ~]# vim /data/application/tomcat/conf/server.xml

将原来的

修改为

3.部署开源站点(jspgou商城)

首先安装配置数据库,下载mysql5.7版本,yum安装,具体操作看之前的博客,再进入mysql数据库中配置创建数据库设置字符集

mysql> create database jspgou default charset=utf8;  #创建数据库设置字符集

上传jspgou商城的代码,并将其拷贝至/data/application/tomcat/webapps并编辑其配置文件 (注意此处的jdbc.password的密码为mysql数据库的密码

[root@java-tomcat1 webapps]# vim ROOT/WEB-INF/config/jdbc.properties

 再进入DB中将数据导入至数据库中,如果不成功则在mysql的配置文件中添加sql_mod,再重新导入,最后启动tomcat访问(注意在数据导入之前停止掉tomcat,否则会出错)

[root@java-tomcat1 ~]# cd DB/
[root@java-tomcat1 DB]# mysql -uroot -p'123' -D jspgou < jspgou.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1067 (42000) at line 97: Unknown error 1067

[root@java-tomcat1 DB]# vim /etc/my.cnf    ----添加sql_mod
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUB
explicit_defaults_for_timestamp=1

[root@java-tomcat1 DB]# systemctl restart mysqld
[root@java-tomcat1 DB]# mysql -uroot -p'123' -D jspgou < jspgou.sql
启动tomcat访问:
[root@java-tomcat1 ~]# /data/application/tomcat/bin/startup.sh

访问:192.168.203.145:8080则成功显示(注意检查配置文件中发布目录地址是否一致

二.Tomcat多实例配置

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

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

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

1.复制程序文件,复制tomcat,并修改其端口号,以启动多实例,多实例之前端口不能一致

[root@java-tomcat1 application]# cp -r tomcat/ tomcat_2
修改端口,以启动多实例。多实例之间端口不能一致
[root@java-tomcat1 application]# sed -i 's#8005#8011#;s#8080#8081#' tomcat/conf/server.xml
[root@java-tomcat1 application]#sed -i 's#8005#8012#;s#8080#8082#' tomcat_2/conf/server.xml

[root@java-tomcat1 application]# diff tomcat/conf/server.xml tomcat_2/conf/server.xml  #对比文件不同之处

2.启动tomcat(此处为程序设计,减少启动输入的代码,可有可无)

[root@java-tomcat1 application]# cp -r /opt/webapps/ROOT/ tomcat/webapps/
[root@java-tomcat1 application]# cp -r /opt/webapps/ROOT/ tomcat_2/webapps/
[root@java-tomcat1 application]# echo 8081 >> tomcat/webapps/ROOT/index.jsp 
[root@java-tomcat1 application]# echo 8082 >> tomcat_2/webapps/ROOT/index.jsp
启动:
[root@java-tomcat1 application]# cd /data/application/tomcat_2/bin/
[root@java-tomcat1 bin]# vim start.sh
#!/bin/bash
#tomcat_2
export CATALINA_BASE="/data/application/tomcat_2"

case "$1" in

start)
    $CATALINA_BASE/bin/startup.sh
    ;;
stop)
    $CATALINA_BASE/bin/shutdown.sh
esac
[root@java-tomcat1 bin]# chmod +x start
#修改catalina.sh ---添加如下内容
[root@java-tomcat1 bin]# vim catalina.sh
CATALINA_HOME=/data/application/tomcat_2  #添加的环境变量注意修改
[root@java-tomcat1 bin]# cd /data/application/tomcat/bin/
[root@java-tomcat1 bin]# vim start.sh
#!/bin/bash
#tomcat
export CATALINA_BASE="/data/application/tomcat"

case "$1" in

start)
    $CATALINA_BASE/bin/startup.sh 
    ;;
stop)
    $CATALINA_BASE/bin/shutdown.sh
esac
[root@java-tomcat1 bin]# chmod +x start.sh
[root@java-tomcat1 bin]# vim catalina.sh
CATALINA_HOME=/data/application/tomcat

启动:

[root@java-tomcat1 ~]# /data/application/tomcat/bin/start.sh start
[root@java-tomcat1 ~]# /data/application/tomcat_2/bin/start.sh start

访问:192.168.203.145:8081和192.168.203.145:8082测试

3.tomcat反向代理集群,配置负载均衡器

备份原配置文件并修改,然后创建upstream配置文件配置负载均衡

[root@nginx-proxy ~]# cd /etc/nginx/conf.d/
[root@nginx-proxy conf.d]# cp default.conf default.conf.bak
[root@nginx-proxy conf.d]# mv default.conf tomcat.conf
[root@nginx-proxy conf.d]# vim tomcat.conf

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

    location / {
       proxy_pass http://testweb;
        }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

负载均衡配置完成,在浏览器上访问测试 192.168.203.145出现以下两种情况即可

您好!您可以使用 Kubernetes(简称 k8s)部署 Tomcat 应用。下面是一个简单的步骤: 1. 首先,确保您已经安装好 Kubernetes 集群,并且连接到该集群。 2. 创建一个 Tomcat 的 Deployment 配置文件。您可以创建一个名为 `tomcat-deployment.yaml` 的文件,并添加以下内容: ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: tomcat-deployment spec: replicas: 1 selector: matchLabels: app: tomcat template: metadata: labels: app: tomcat spec: containers: - name: tomcat image: tomcat:latest ports: - containerPort: 8080 ``` 其中,`image` 字段指定了使用的 Tomcat 镜像,这里使用的是 `tomcat:latest`。`containerPort` 字段指定了容器监听的端口。 3. 使用以下命令来创建 Deployment: ``` kubectl apply -f tomcat-deployment.yaml ``` 这将会在 Kubernetes 集群中创建一个名为 `tomcat-deployment` 的 Deployment,并启动一个 Tomcat Pod。 4. 等待一段时间,直到 Pod 处于运行状态。您可以使用以下命令来查看 Pod 的状态: ``` kubectl get pods ``` 5. 创建一个 Service,将外部流量路由到 Tomcat Pod。您可以创建一个名为 `tomcat-service.yaml` 的文件,并添加以下内容: ```yaml apiVersion: v1 kind: Service metadata: name: tomcat-service spec: selector: app: tomcat ports: - protocol: TCP port: 8080 targetPort: 8080 type: LoadBalancer ``` 这里使用的是 LoadBalancer 类型的 Service,可以通过外部 IP 访问 Tomcat。 6. 使用以下命令来创建 Service: ``` kubectl apply -f tomcat-service.yaml ``` 7. 等待一段时间,直到 Service 创建成功并分配了外部 IP。您可以使用以下命令来查看 Service 的状态: ``` kubectl get services ``` 现在,您应该可以使用外部 IP 来访问 Tomcat 应用了。 请注意,这只是一个简单的示例,实际部署可能需要根据您的需求进行调整。希望对您有帮助!如果您还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值