Nginx 简介
Nginx
是一款高性能的 HTTP
服务器、反向代理服务器及电子邮件(IMAP/POP3
)代理服务器。官方测试 Nginx
能够支撑 5 万并发链接,并且 CPU
、内存等资源消耗却非常低,运行非常稳定。
Nginx 的应用场景
HTTP
服务器:Nginx
是一个HTTP
服务可以独立提供HTTP
服务。可以做网页静态服务器。- 虚拟主机:可以实现在一台服务器虚拟出多个网站。
- 反向代理 + 负载均衡:当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用
Nginx
做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
容器编排
服务器 IP:192.168.230.130
-
创建
docker-compose.yml
version: '3.1' services: nginx: restart: always image: nginx container_name: nginx ports: - 80:80 volumes: - ./conf/nginx.conf:/etc/nginx/nginx.conf - ./wwwroot:/usr/share/nginx/wwwroot
-
启动容器
$ docker-compose up -d
-
打开浏览器访问 192.168.230.130
什么是虚拟主机
虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供 www
服务,这样就可以实现一台主机对外提供多个 web
服务,每个虚拟主机之间是独立的,互不影响的。
通过 Nginx
可以实现虚拟主机的配置,Nginx
支持三种类型的虚拟主机配置
- 基于 IP 的虚拟主机
- 基于域名的虚拟主机
- 基于端口的虚拟主机
功能需求
Nginx
服务器:192.168.230.130
Nginx
对外提供80
和8080
两个端口监听服务- 请求
80
端口则请求html80
目录下的html
- 请求
8080
端口则请求html8080
目录下的html
配置 Nginx 虚拟主机
-
在
/usr/local/docker/nginx/wwwroot
目录下创建html80
和html8080
两个目录,并分别创建两个index.html
文件 -
在
/usr/local/docker/nginx/conf
目录下创建nginx.conf
,挂载 Nginx 配置文件user nginx; # 指定使用 CPU 资源数量 worker_processes 1; events { # 连接数 worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; # 虚拟主机一配置 server { # 指定端口 listen 80; # 指定 IP (可以是域名) server_name 192.168.230.130; location / { # 虚拟主机内的资源访问路径 root /usr/share/nginx/wwwroot/html8080; # 首页 index index.html index.htm; } } # 虚拟主机二配置 server { listen 8080; server_name 192.168.230.130; location / { root /usr/share/nginx/wwwroot/html8080; index index.html index.htm; } } }
每个
server
节点代表一个虚拟主机 -
创建
docker-compose.yml
version: '3.1' services: nginx: restart: always image: nginx container_name: nginx ports: - 80:80 volumes: - ./conf/nginx.conf:/etc/nginx/nginx.conf - ./wwwroot:/usr/share/nginx/wwwroot
-
启动容器
$ docker-compose up -d
-
打开浏览器分别访问 192.168.230.130 和 192.168.230.130:8080
-
文章作者:彭超
-
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 彭超 | Blog!
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦