1 Nginx简介
Nginx(发音为“engine-x”)是一款功能强大的开源反向代理服务器,支持HTTP、HTTPS、SMTP、POP3、IMAP等协议。它也可以作为负载均衡器、HTTP缓存或Web服务器。Nginx一开始就专注于高并发和高性能的应用场景。它使用类BSD开源协议,支持Linux、BSD、Mac、Solaris、AIX等类Unix系统,同时也有Windows上的移植版本。
Nginx特性如下:
- 热部署:采用master管理进程和worker工作进程的分离设计,支持热部署。在不间断服务的前提下,可以直接升级版本。也可以在不停止服务的情况下修改配置文件,更换日志文件等。
- 高并发连接:Nginx可以轻松支持超过100K的并发,理论上支持的并发连接上限取决于机器内存。
- 低内存消耗:在一般的情况下,10K个非活跃的HtTP Keep-Alive 连接在Nginx中仅消耗2.5MB的内存,这也是Nginx支持高并发连接的基础。
- 响应快:在正常的情况下,单次请求会得到更快的响应。在高峰期,Nginx可以比其他的Web服务器更快地响应请求。
- 高可靠性:Nginx是一个高可信的Web服务器。这也是为什么用户选择Nginx的基本条件,高可信来自其核心框架代码的优秀设计和实现。
2 使用DockerHub 镜像
可以使用docker run 指令直接运行官方Nginx 镜像:
$ docker run -d -p 80:80 --name webserver nginx
$ docker ps
1.9.8版本后的镜像支持debug模式,镜像包含nginx-debug,可以支持更丰富的log信息:
$ docker run --name my-nginx -v /host/path/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx nginx-debug -g 'daemon off;'
# 相应的docker-compose.yml配置如下:
web:
image: nginx
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
command: [nginx-debug,'-g','daemon off;']
自定义Web页面,首先,新建index.html文件,内容如下:
<html>
<title>text</title>
<body>
<div>