1. docker命令
# 启动容器 docker run -it --name nginx-test -p 8888:80 --mount type=bind,source=/data/volumes/nginx,target=/data --mount type=bind,source=/data/volumes/nginx/nginx.conf,target=/etc/nginx/nginx.conf nginx:latest # 命令行进入容器 docker exec -it nginx-test /bin/bash
命令解析:
--mount
:挂载目录或文件到容器中,其中source
是本地文件(夹)目录,target
是容器内文件(夹)路径;
/data/volumes/nginx
,提供了一个文件挂载目录,可选;/data/volumes/nginx/nginx.conf
,提供了nginx的配置文件,可选
/data/volumes/nginx
,和/data/volumes/nginx/nginx.conf
两个目录需要提前创建好。
2. 配置文件解析
# 注意容器里必须使用root,使用其他用户会存在文件访问权限问题 user root; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; server{ listen 80; # 在本地测试时,可以使用localhost或服务器ip,生产环境下使用域名,使用空格分隔开来 server_name 192.168.0.1 example.com; # html挂载目录 root /data; location / { # 索引的index文件,默认目录在root挂在的目录下,可以写多个次序使用,空格分隔 index index.html; } } }
参考
[2] Nginx配置文件详解
[3] 万字长文看Nginx配置详解!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!