docker下的nginx
nginx
1 啟動nginx
#取出nginx容器預設配置檔案
mkdir -p /data/nginx/
docker run -d --name tmp-nginx-container nginx
docker cp tmp-nginx-container:/etc/nginx/nginx.conf /data/nginx/
docker cp tmp-nginx-container:/etc/nginx/conf.d /data/nginx/
docker cp tmp-nginx-container:/usr/share/nginx/html /data/nginx/
#再重新啟動一個nginx,並掛載資料
docker run -d --name nginx -p 80:80 \
-e TZ=Asia/Shanghai \
-v /usr/local/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/docker/nginx/conf.d:/etc/nginx/conf.d \
-v /usr/local/docker/nginx/html:/usr/share/nginx/html \
-v /usr/local/docker/nginx/logs:/var/log/nginx \
nginx
docker exec -it nginx /bin/bash #進入nginx
2 配置
容器內的配置檔案檔案位置在 /etc/nginx/nginx.conf
全域性塊
設定一些影響nginx伺服器整體執行的配置指令
比如work_processes 值越大,可以支援的併發處理量也越多
events塊
主要影響伺服器與使用者的網路連線
比如work_connections 1024; 表示每個work_processes 支援的最大連線數1024
http塊
包括代理,快取和日誌定義等絕大數功能都在這裡
3 反向代理
先執行tomcat,利用nginx進行轉發
docker run -d --name tomcat -d -p 8080:8080 tomcat:8.0.52
docker inspect tomcat
然後查其在docker內的地址
修改conf.d中的default.conf
然後訪問原nginx的埠(linux伺服器地址+80埠),就能轉發到tomcat去
要求訪問http://42.192.149.87/edu/a.html 到tomcat01
要求訪問http://42.192.149.87/vod/b.html 到tomcat02
4 負載均衡
3 分配策略
-
輪詢(預設)
-
weight
upstream server_ pool{ server 192.168.5.21 weight=5; server 192.168.5.22 weight=10; }
-
ip_hash
根據hash,每個訪客固定訪問一個伺服器,可以解決session問題
upstream server_ pool{ ip_hash server 192.168.5.21 ; server 192.168.5.22 ; }
-
fair
根據伺服器的相應時間來分配
upstream server_ pool{ server 192.168.5.21 ; server 192.168.5.22 ; fair }
5 動靜分離
有兩種辦法,
靜態資源跟動態資源分開放在兩個伺服器上
靜態和動態一起放一起,根據訪問的字尾名來實現不同的轉發請求,可以設定expires可以設定瀏覽器快取過期時間
5 高可用
相關文章
- docker下安裝NginxDockerNginx
- CenterOS docker 下簡單部署 PHP+NginxROSDockerPHPNginx
- Nginx-04-Docker NginxNginxDocker
- docker下nginx反向代理和負載均衡配置DockerNginx負載
- Docker下安裝Nginx和php(爬坑篇)DockerNginxPHP
- docker建立nginxDockerNginx
- Docker配置nginxDockerNginx
- docker小結(nginx)DockerNginx
- docker -nginx2DockerNginx
- docker安裝nginxDockerNginx
- 使用docker和nginx搭建一個下載伺服器DockerNginx伺服器
- docker學習6:Docker 安裝 NginxDockerNginx
- 46_docker-compose_nginxDockerNginx
- 使用docker安裝nginxDockerNginx
- HTTPs setup - Certbot + Docker + NginxHTTPDockerNginx
- Docker Nginx 502 Bad getwayDockerNginx
- 【docker】docker 安裝配置 nginx+php+composerDockerNginxPHP
- docker初體驗:docker部署nginx服務DockerNginx
- Mac 系統下 DNMP (docker+nginx+MySQL+PHP) 環境的配置及踩坑MacDockerNginxMySqlPHP
- Docker環境下編譯安裝PHP7.1.4 Nginx1.12.0Docker編譯PHPNginx
- 【微服務】docker安裝nginx微服務DockerNginx
- nginx docker容器配置https(ssl)NginxDockerHTTP
- Docker 之 Nginx環境搭建DockerNginx
- Linux 、docker 、nginx 相關命令LinuxDockerNginx
- Docker配置PHP+Nginx+MySQLDockerPHPNginxMySql
- docker原始碼安裝NginxDocker原始碼Nginx
- Docker 入門系列三:Docker 應用部署-NginxDockerNginx
- 利用Docker volume修改Nginx Docker映象裡index.htmlDockerNginxIndexHTML
- Docker(七)Docker-Compose部署SpringBoot+Redis+MySQL+NginxDockerSpring BootRedisMySqlNginx
- 最簡單的docker教程:在docker裡執行nginx伺服器DockerNginx伺服器
- Docker Nginx 配置多個子域名DockerNginx
- 微服務+Docker---springboot+nginx+mysql微服務DockerSpring BootNginxMySql
- 怎麼用docker安裝nginxDockerNginx
- Docker容器配置Nginx例項分享DockerNginx
- Nginx proxy manager反向代理docker hubNginxDocker
- docker建立mysql、nginx資料卷DockerMySqlNginx
- Docker Toolbox之nginx(1)安裝DockerNginx
- docker下的spark使用DockerSpark