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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。