在Tomcat中发布自己的web应用(集群形式)

项目打包完成后,往往需要在远程tomcat中部署自己的应用,在这里把主要的步骤记录下来。

这里介绍的主要是集群形式,当然单机版也是一样的,只不过单机版只需要一个tomcat服务。

1.配置 3 个 tomcat 的 tomcat-users.xml





其中的username和password根据需要自行设置,这里以admin为例

2.删除3个tomcat的webapps下的ROOT目录

3.重新启动tomcat服务器,注意最好先运行./shutdown.sh然后再运行./startup.sh

4.配置 maven 的 settings.xml文件,添加一个新的server即可


    ego-manager
    admin
    admin

5.配置pom文件,添加插件的相关属性


            
                org.apache.tomcat.maven
                tomcat7-maven-plugin
                
                    
                    ego-manager
                    
                    
                    /ROOT
                    http://192.168.181.138:6060/manager/text
                    
                    true
                
            

其中6060其中之一的tomcat服务,我们还需要上传到7070和8080端口,所以一会儿需要上传三次

这里有个坑,如果使用的 toncat9 版本,可能会有报错:

Cannot invoke Tomcat manager: Protocol wrong type for socket

默认tomcat只允许本地部署,如果是要部署到远程服务器上,那么需要在远程服务器的{TOMCAT_HOME}conf/Catalina/localhost/目录下创建一个manager.xml文件,配置如下内容:



         

这里允许所有的地址远程部署,也可以指定ip范围部署,

allow="127.0.0.1,192.168.1.*"

6.开始打包,点击deploy即可

7.修改nginx的配置文件,实现反向代理和负载均衡

注意nginx不在同一台服务器上,我们修改的配置文件如下

upstream www.taozi.com{
        server 192.168.181.138:6060 weight=2;
        server 192.168.181.138:7070;
        server 192.168.181.138:8080;
    }

    server {
        listen       80;
        #1.请求域名
        server_name  www.taozi.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            # root   html;
            # index  index0.html index.htm;
            #2.找到实际路径,做转发
            proxy_pass http://www.taozi.com;
        }
        #对静态资源放行
        location ~ .*\.(ico|png|jpg|js|css)$ {
        	# 指定静态资源的位置
        	proxy_pass http://www.taozi.com;
        }

    }

然后重新启动nginx服务器即可,这样www.taozi.com就是以集群的形式对外提供服务

如果nginx宕机了,整个应用就没法访问,可以使用nginx+keepalive实现nginx集群

你可能感兴趣的:(环境搭建,linux)