目录
前言
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
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
新增自定义代码:
访问页面:
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; }
测试访问:
访问地址:ip+port/test
比如:http://162.14.115.18/test
5、总结
- 通过docker搭建nginx;
- 实现自定义目录挂载,方便配置文件的修改;
- 通过pre_home目录管理前端工程,使多个项目时,不用新建nginx容器挂载新的工程目录;