Nginx使用反向代理實(shí)現(xiàn)負(fù)載均衡過程解析
簡介
基于docker容器以及docker-compose,所以需要自學(xué)docker在linux環(huán)境的基本使用
使用兩個(gè)tomcat作為負(fù)載均衡的服務(wù)端
1.使用docker拉取tomcat和nginx鏡像
2.使用docker-compose創(chuàng)建兩個(gè)tomcat服務(wù)
新建tomcat目錄,在該目錄下創(chuàng)建docker-compose.yml文件,輸入如下內(nèi)容:
version: '3' services: tomcat1: image: tomcat container_name: tomcat1 ports: - 9090:8080 tomcat2: image: tomcat container_name: tomcat2 ports: - 9091:8080
在該docker-compose.yml同一目錄下運(yùn)行如下命令啟動(dòng)容器(-d 表示后臺運(yùn)行)
docker-compose up -d
成功后查看docker容器列表
命令
docker ps
結(jié)果示例有tomcat1和tomcat2兩個(gè)容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 271dd3610d1d tomcat "catalina.sh run" 58 minutes ago Up 58 minutes 0.0.0.0:9091->8080/tcp tomcat2 fa19d20f0022 tomcat "catalina.sh run" 58 minutes ago Up 58 minutes 0.0.0.0:9090->8080/tcp tomcat1
以交互的方式進(jìn)入容器,修改首頁內(nèi)容,以便區(qū)分兩個(gè)tomcat(下面已tomcat為例)
命令
docker exec -it fa19d20f0022 bash
向首頁追加內(nèi)容
echo "9090" >> webapps/ROOT/index.jsp
3.創(chuàng)建nginx服務(wù)
新建nginx目錄,在該目錄下創(chuàng)建docker-compose.yml文件,輸入如下內(nèi)容:
version: '3.1' services: nginx: restart: always image: nginx container_name: nginx ports: - 81:80 volumes: - ./conf/nginx.conf:/etc/nginx/nginx.conf
由于docker-compose自動(dòng)會(huì)將/conf/nginx.conf作為文件夾處理,所以需要在創(chuàng)建容器前,在nginx目錄下,創(chuàng)建conf目錄,在conf目錄下,創(chuàng)建nginx.conf文件,并輸入如下內(nèi)容:
user nginx; worker_processes 1; events { worker_connections 1024; } http { upstream myapp1 { server [服務(wù)器ip]:9090 weight=10; server [服務(wù)器ip]:9091 weight=10; } server { listen 80; server_name [服務(wù)器ip]; location / { proxy_pass http://myapp1; } } }
在docker-compose.yml同一目錄下運(yùn)行
docker-compose up -d
4. 訪問 [服務(wù)器ip]:81網(wǎng)址,多刷新幾次,觀察兩個(gè)tomcat服務(wù)之間的切換
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
配置nginx保證frps服務(wù)器與web共用80端口的方法
這篇文章主要介紹了frps服務(wù)端與nginx可共用80端口的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06Nginx服務(wù)器中強(qiáng)制使用緩存的配置及緩存優(yōu)先級的講解
這篇文章主要介紹了Nginx服務(wù)器中強(qiáng)制使用緩存的配置及緩存優(yōu)先級的講解,一定程度上可以幫助大家解決Nginx不緩存或緩存失效的問題,需要的朋友可以參考下2016-01-01詳解Nginx實(shí)戰(zhàn)之讓用戶通過用戶名密碼認(rèn)證訪問web站點(diǎn)
這篇文章主要介紹了詳解Nginx實(shí)戰(zhàn)之讓用戶通過用戶名密碼認(rèn)證訪問web站點(diǎn),有興趣的可以了解一下。2016-11-11nginx快速部署一個(gè)網(wǎng)站服務(wù)(多域名+多端口)
本文主要介紹了nginx快速部署一個(gè)網(wǎng)站服務(wù),并實(shí)現(xiàn)多域名和多端口,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10