系统信息:
Linux ecs-205380 4.15.0-169-generic #177-Ubuntu SMP Thu Feb 3 10:50:38 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
本文章将
Nginx
安装在/home/docker/nginx
下
什么是Nginx
Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。
Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。
Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。
编写docker-compose.yml
进入/home/docker/nginx
lilbai@: sudo vim docker-compose.yml
在docker-compose.yml
文件内输入如下内容:
version: '3.0'
services:
nginx: # 服务名称
image: nginx:latest # 镜像版本 默认最新
restart: always # 启动方式
container_name: nginx #容器名称
volumes: # 本机路径:容器路径
- /home/docker/nginx/conf/conf.d:/etc/nginx/conf.d
- /home/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- /home/docker/nginx/html:/usr/share/nginx/html
- /home/docker/nginx/logs:/var/log/nginx
- /home/docker/nginx/ssl:/etc/ssl
ports: # 端口映射,本机端口:容器端口
- 80:80
- 443:443
内容分析
version: '3.1' # 版本
services:
nginx: # web程序
restart: always
image: nginx # 镜像名,或者镜像下载地址也可以
container_name: nginx # 之后构建容器的名字
ports: # 端口映射
- 80:80 # 主机端口:容器端口
volumes:
- /home/docker/nginx/conf.d/:/etc/nginx/conf.d
- /home/docker/nginx/html/:/usr/share/nginx/html
- /home/docker/nginx/logs:/var/log/nginx
构建docker容器
lilbai@: docker-compose build
更新docker-compose
lilbai@: docker-compose up -d
查看容器是否存在
lilbai@: docker ps
存在后即前面步骤操作成功
查看映射文件夹是否存在
进入/home/docker/nginx/
查看
lilbai@: cd /home/docker/nginx/
lilbai@: ls
conf.d docker-compose.yml html logs
conf.d
、html
、logs
映射的文件夹已经存在。
- conf.d是
server
块配置文件夹 - html是页面资源文件夹
- logs是日志文件夹
编写server块
进入/home/docker/nginx/conf.d
文件夹,编辑default.conf
文件,如果没有default.conf
文件,则新建即可。
lilbai@: sudo vi default.conf
将以下内容填入default.conf
server{
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /test {
root /usr/share/nginx/html/test;
index index.html index.htm;
}
}
添加html访问资源
lilbai@: cd /home/docker/nginx/html
lilbai@: vi index.html
# 如果 vi index.html 不能保存的话,则使用 sudo vi index.html
随便在index.html
写点东西即可
<h1>
11111
</h1>
重启Nginx
编辑完资源文件,重启docker-compose
或者nginx
都可以
lilbai@: docker-compose restart
# 或者
lilbai@: docker restart nginx