😊 @ 作者: 一恍过去



docker nginx 实现 负载均衡 nginx docker部署_html


目录

  • 前言
  • 1、拉取镜像
  • 2、启动nginx容器
  • 3、访问测试
  • 4、挂载准备
  • 4.1、宿主机创建挂载目录
  • 4.2、复制配置文件到宿主机器
  • 4.3、创建前端工程挂载目录
  • 4.4、删除之前建立的nginx
  • 4.5、挂载启动nginx容器
  • 4.6、测试访问
  • 4.7、验证pre_home目录
  • 5、总结


前言

Nginx是一个开源的高性能的Web服务器和反向代理服务器。它由俄罗斯的程序员Igor Sysoev创建,并于2004年首次公开发布。Nginx以其卓越的性能、可扩展性和稳定性而闻名,并被广泛用于构建和部署Web应用程序。

Nginx有以下特点和功能:

  • 1. 高性能: Nginx采用了事件驱动的异步架构,通过使用较少的系统资源即可处理大量的并发连接。它能够处理高流量的请求,并以高速度响应客户端。
  • 2. 反向代理: Nginx作为反向代理服务器,可以将客户端的请求转发到后端服务器,并将响应返回给客户端。它可以实现负载均衡、缓存、SSL终端和安全等功能。
  • 3. 静态资源服务: Nginx可以高效地提供静态文件(如HTML、CSS、JavaScript、图像、视频等)的下载服务。它可以通过简单的配置实现快速的文件传输和目录索引。
  • 4. 动态内容支持: Nginx可以通过与后端应用服务器(如PHP、Python、Java等)的集成,处理动态生成的内容,并将其传递给客户端。
  • 5. 可扩展性: Nginx的模块化结构使其易于扩展和定制。它支持第三方模块的添加,以满足特定的需求和功能扩展。
  • 6. 简单的配置: Nginx的配置文件采用简洁而灵活的语法,易于理解和管理。它具有清晰的结构,使得对服务器行为的控制和调整变得简单。
  • 7. 高可靠性: Nginx具有出色的稳定性和鲁棒性。它可以处理大规模的并发连接和高负载,并具备故障恢复和自动重启等功能。

1、拉取镜像

docker pull nginx

2、启动nginx容器

docker run --restart=always --name=nginx -p 80:80 -d nginx

3、访问测试

访问地址:http://ip+port

docker nginx 实现 负载均衡 nginx docker部署_运维_02

4、挂载准备

4.1、宿主机创建挂载目录

mkdir /root/docker/nginx -p

4.2、复制配置文件到宿主机器

docker cp nginx:/etc/nginx /root/docker/nginx/conf
docker cp nginx:/usr/share/nginx/html /root/docker/nginx/html
docker cp nginx:/var/log/nginx /root/docker/nginx/logs

4.3、创建前端工程挂载目录

该目录的好处在于,上传新的前端项目后,不用重新启动nginx,只需要修改nginx.conf配置

mkdir /home/pre_server -p

4.4、删除之前建立的nginx

docker stop nginx
docker rm nginx

4.5、挂载启动nginx容器

docker run --restart=always --name=nginx -p 80:80 \
-v /root/docker/nginx/conf:/etc/nginx \
-v /root/docker/nginx/html:/usr/share/nginx/html \
-v /root/docker/nginx/logs:/var/log/nginx \
-v /home/pre_server:/home/pre_server \
-d nginx

4.6、测试访问

为了更好的验证,容器是已挂载的方式进行启动,我们修改html 下的代码

cd root/docker/nginx/html
# 编辑index.html
vim index.html

新增自定义代码:

docker nginx 实现 负载均衡 nginx docker部署_nginx_03


访问页面:

docker nginx 实现 负载均衡 nginx docker部署_运维_04

4.7、验证pre_home目录

我们将html下的index.html拷贝到/home/pre_server下,并且配置nginx.conf文件,再重启nginx,
也可以自己上传,自定义的前端工程到/home/pre_server下

拷贝index.html:

cp /root/docker/nginx/html/index.html /home/pre_server/

修改nginx.conf:

vim /root/docker/nginx/conf/conf.d/default.conf

添加配置:

location /test { alias /home/pre_server; index index.html; }

docker nginx 实现 负载均衡 nginx docker部署_docker_05

测试访问:

访问地址:ip+port/test
比如:http://162.14.115.18/test

docker nginx 实现 负载均衡 nginx docker部署_nginx_06

5、总结

  • 通过docker搭建nginx;
  • 实现自定义目录挂载,方便配置文件的修改;
  • 通过pre_home目录管理前端工程,使多个项目时,不用新建nginx容器挂载新的工程目录;