Docker使用— Docker部署安装Nginx

Nginx简介

Nginx 是一款高性能的 web 服务器、反向代理服务器以及电子邮件(IMAP/POP3/SMTP)代理服务器,由俄罗斯开发者伊戈尔·塞索耶夫(Igor Sysoev)编写,并在2004年10月4日发布了首个公开版本0.1.0。Nginx 设计之初是为了处理高并发连接,以其稳定性、低内存占用和高并发处理能力而著称。

Nginx 使用 C 语言开发,设计采用异步非阻塞事件驱动模型,如 epoll 和 kqueue,这使得它在高并发场景下表现优秀,能够有效支持多达50,000个并发连接。Nginx 在实际应用中常被用来部署静态内容、作为动态应用的反向代理(例如与FastCGI、uwsgi或SCGI应用配合)、实现负载均衡、缓存服务以及提供SSL终止等功能。

Nginx 的配置简洁且灵活,可以通过模块化的方式扩展功能,适用于大型网站、API服务、微服务架构等各种场景。此外,Nginx 采用类 BSD 许可证开源,促进了其在全球范围内的广泛应用和社区支持,许多知名互联网企业如新浪、网易、腾讯等都在使用 Nginx 提供服务。随着版本迭代更新,Nginx 不断增加新功能和完善性能,截至2022年以后,Nginx 已经发布了多个稳定版更新,持续服务于全球众多网站和应用程序。

教程

拉取镜像

bash 复制代码
docker pull nginx
  • 可以省略,启动容器时,没有本地镜像会自动拉取

启动nginx容器

bash 复制代码
docker run --restart=always --name=nginx -p 80:80 -d nginx

访问测试

访问地址:http://ip+port 默认地址为http://127.0.0.1:80

挂载准备

宿主机创建挂载目录

bash 复制代码
mkdir /root/nginx -p

复制配置文件到宿主机器

bash 复制代码
docker cp nginx:/etc/nginx /root/nginx/conf
docker cp nginx:/usr/share/nginx/html /root/nginx/html
docker cp nginx:/var/log/nginx /root/nginx/logs

删除之前建立的nginx

bash 复制代码
docker stop nginx
docker rm nginx

挂载启动nginx容器

bash 复制代码
docker run --restart=always --name=nginx -p 3000:80 -v /root//nginx/conf:/etc/nginx -v /root/nginx/html:/usr/share/nginx/html -v /root/nginx/logs:/var/log/nginx -d nginx

修改后重启

每次修改/root/nginx/conf文件下的nginx.conf配置文件,执行

bash 复制代码
docker restart nginx 

即可。

相关推荐
theo.wu几秒前
使用Buildpacks构建Docker镜像
运维·docker·容器
Lansonli8 分钟前
云原生(四十八) | Nginx软件安装部署
nginx·云原生·ecs服务器
加油,旭杏6 小时前
【中间件学习】fastCG介绍和使用
学习·nginx·fastcgi
唐大爹9 小时前
项目实战:k8s部署考试系统
云原生·容器·kubernetes
wusam9 小时前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习04(环境准备)
学习·docker·centos
苹果醋39 小时前
大模型实战--FastChat一行代码实现部署和各个组件详解
java·运维·spring boot·mysql·nginx
wusam12 小时前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习03(网络及IP规划)
运维·服务器·网络·docker·容器
一直在进步的派大星12 小时前
Docker 从安装到实战
java·运维·docker·微服务·容器
Zl15975315975316 小时前
k8s基础环境部署
云原生·容器·kubernetes
tanxiaomi17 小时前
vue 不是spa 单页面应用吗? 配置路由工作模式为history 后 ,为什么配置Nginx的 try_files 可以根据url 找到对应的文件?
前端·vue.js·nginx