之前也有安装过很多次Nginx,但是这次感觉是一个比较好的实践,所以整理一下。
是什么?
Nginx是一款服务器程序,常用来做反向代理、负载均衡、动态与静态资源分离等工作。
反向代理:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
负载均衡:目前大多数的网站都会采用负载均衡手段来针对目前用户的指数级增长来减少对单点服务器的负载压力
最佳部署实践
搜索镜像
docker search nginx
拉取镜像
docker pull nginx
创建挂载目录
mkdir -p /data/nginx/{conf,conf.d,html,log}
注1:因为在nginx镜像中没有安装vi或vim编辑器(安装又太麻烦了),无法编辑nginx配置文件,所以直接通过数据卷挂载上去更加方便
注2:将nginx配置文件nginx.conf上传到宿主机的挂载目录“/data/nginx/conf”下
注3:将vue前端项目打包后上传到宿主机的挂载目录“/data/nginx/html”下并解压
创建容器并初始化挂载目录
docker run -d -p 80:80 nginx
// 查看容器ID
docker ps -a
// 复制配置文件到挂载路径
docker cp b6a410190b80:/etc/nginx/nginx.conf /data/nginx/conf/
docker cp b6a410190b80:/etc/nginx/conf.d/default.conf /data/nginx/conf.d/
docker cp b6a410190b80:/usr/share/nginx/html /data/nginx/
docker cp nginx:/etc/nginx/nginx.conf /data/docker/nginx/conf/
docker cp nginx:/etc/nginx/conf.d/default.conf /data/docker/nginx/conf.d/
docker cp nginx:/usr/share/nginx/html /data/docker/nginx/html
关闭测试容器
docker stop nginx
// 删除容易
docker rm nginx
正常启动容器
docker run -id --name=nginx \
-p 80:80 \
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/nginx/conf.d:/etc/nginx/conf.d \
-v /data/nginx/logs:/var/log/nginx \
-v /data/nginx/html:/usr/share/nginx/html \
-d nginx
目录说明
nginx.conf -- 主配置文件
conf.d -- 配置文件存放目录
logs -- 日志文件夹
html -- 静态资源文件夹
评论区