Docker如何使用nginx搭建tomcat集群(图文详解)
首先创建tomcat的文件夹,为了方便docker的配置我这里直接在根目录中创建第一步:创建文件夹:发布文件夹
mkdir-p/docker/tomcat/webapp8081 mkdir-p/docker/tomcat/webapp8082 mkdir-p/docker/tomcat/webapp8083
第二步:创建Tomcat容器(端口可以根据自己的实际更换)
dockerrun-d--nametomcat8081-p8081:8080-v/docker/tomcat/webapp8081:/usr/local/tomcat/webapps/tomcat dockerrun-d--nametomcat8082-p8082:8080-v/docker/tomcat/webapp8082:/usr/local/tomcat/webapps/tomcat dockerrun-d--nametomcat8083-p8083:8080-v/docker/tomcat/webapp8083:/usr/local/tomcat/webapps/tomcat
创建完成后使用dockerps命令进行查看是否创建成功并且使用
第三步:查看tomcat的IP使用命令依次查询这里只使用第一个举例
dockerinspecttomcat8081
第四步:为了方便测试我这里就不上传war包了,直接在里面创建了一个hello/index.html文件
注意:如果Nginx为Docker容器,必须使用Tomact容器IP,否则连不上
首先在官网上下载nginx的官方版本
官网:http://nginx.org/en/
点击右边导航栏的download,进入下载界面选择对应的版本进行下载,我这里就使用nginx-1.6.2.tar
下载完成后,将文件放到自定义的文件夹,我这里放到/usr/local/tools/nginx-1.6.2
使用这个命令将nginx解压:
tarvxfnginx-1.6.2.tar.gz
解压完成后,我这里是返回根目录,在根目录创建一个宿主文件夹,目的是为了创建文件,使得nginx可以挂载(你也可以自定义)
创建宿主文件夹这里
mkdir-p/docker/nginx/ vim/docker/nginx/nginx.conf mkdir-p/docker/nginx/html
拷贝页面你解压的negix中的html文件夹中的index.html50x.html到/docker/nginx/html文件夹中
这里提供一种negix的conf文件,以为加上注解所以格式可能会发生改变记得把注解删了
Nginx.conf:
userroot;
worker_processes2;#这里设置你的线程数
#error_loglogs/error.log;
#error_loglogs/error.lognotice;
#error_loglogs/error.loginfo;
#pidlogs/nginx.pid;
events{
worker_connections1024;#最大连接数量
}
http{
includemime.types;
default_typeapplication/octet-stream;
upstreammytomcat{
server172.17.0.3:8080weight=10;
#另外mytomcat这里名字和下方的名字保持一致这里需要和你的tomcatIP保持一致
server172.17.0.4:8080weight=50;
server172.17.0.5:8080weight=10;
}
#log_formatmain'$remote_addr-$remote_user[$time_local]"$request"'
#'$status$body_bytes_sent"$http_referer"'
#'"$http_user_agent""$http_x_forwarded_for"';
#access_loglogs/access.logmain;
sendfileon;
#tcp_nopushon;
#keepalive_timeout0;
keepalive_timeout65;
#gzipon;
server{
listen80;
server_namemytomcat;
#charsetkoi8-r;
#access_loglogs/host.access.logmain;
location/{
#roothtml;
#indexindex.htmlindex.htm;
proxy_connect_timeout50;
proxy_read_timeout10;
proxy_send_timeout20;
proxy_passhttp://mytomcat;
}
#error_page404/404.html;
#redirectservererrorpagestothestaticpage/50x.html
#
error_page500502503504/50x.html;
location=/50x.html{
roothtml;
}
#proxythePHPscriptstoApachelisteningon127.0.0.1:80
#
#location~\.php${
#proxy_passhttp://127.0.0.1;
#}
#passthePHPscriptstoFastCGIserverlisteningon127.0.0.1:9000
#
#location~\.php${
#roothtml;
#fastcgi_pass127.0.0.1:9000;
#fastcgi_indexindex.php;
#fastcgi_paramSCRIPT_FILENAME/scripts$fastcgi_script_name;
#includefastcgi_params;
#}
#denyaccessto.htaccessfiles,ifApache'sdocumentroot
#concurswithnginx'sone
#
#location~/\.ht{
#denyall;
#}
}
#anothervirtualhostusingmixofIP-,name-,andport-basedconfiguration
#
#server{
#listen8000;
#listensomename:8080;
#server_namesomenamealiasanother.alias;
#location/{
#roothtml;
#indexindex.htmlindex.htm;
#}
#}
#HTTPSserver
#
#server{
#listen443ssl;
#server_namelocalhost;
#ssl_certificatecert.pem;
#ssl_certificate_keycert.key;
#ssl_session_cacheshared:SSL:1m;
#ssl_session_timeout5m;
#ssl_ciphersHIGH:!aNULL:!MD5;
#ssl_prefer_server_cipherson;
#location/{
#roothtml;
#indexindex.htmlindex.htm;
#}
#}
}
使用docker启动
创建并运行容器
81:是外网访问的端口这里可以根据实际做修改
/docker/nginx/nginx.conf本地的宿主文件
/etc/nginx/nginx.conf解压的目录(也可以不更改)
/docker/nginx/html本地的宿主文件
/usr/share/nginx/html解压的目录
dockerrun-d--namenginx81-p81:80-v/docker/nginx/nginx.conf:/etc/nginx/nginx.conf-v/docker/nginx/html:/usr/share/nginx/htmlnginx
测试
http://39.106.147.162:8085/hello/index.html我这里配置的是8085端口
直接访问
总结
以上所述是小编给大家介绍的Docker使用nginx搭建tomcat集群的教程,希望对大家有所帮助!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。