
manureyesi/batch-opos-galicia-nginxNginx(发音为"engine-x")是一款由Igor Sysoev开发的开源HTTP和反向代理服务器,同时支持IMAP/POP3/SMTP代理功能。作为Docker镜像,Nginx提供了便捷的部署方式,无需复杂环境配置即可快速启动高性能服务器实例。其主要用途包括:
通过以下命令快速启动Nginx容器:
bashdocker run --name my-nginx -p 80:80 -d nginx
--name my-nginx:指定容器名称为my-nginx-p 80:80:将容器的80端口映射到主机的80端口-d:后台运行容器nginx:使用最新版Nginx镜像(默认标签为latest)启动后,访问http://localhost即可看到Nginx默认欢迎页面。
4.2.1 挂载自定义配置文件
将本地配置文件挂载到容器中替换默认配置:
bashdocker run --name my-nginx -p 80:80 -v /path/to/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx
/path/to/nginx.conf:本地Nginx配置文件路径/etc/nginx/nginx.conf:容器内Nginx主配置文件路径:ro:以只读模式挂载,防止容器内修改配置文件4.2.2 挂载网站根目录
将本地静态文件目录挂载到容器的默认网站根目录:
bashdocker run --name my-nginx -p 80:80 -v /path/to/website:/usr/share/nginx/html:ro -d nginx
/path/to/website:本地静态文件目录(包含index.html等)/usr/share/nginx/html:容器内Nginx默认网站根目录创建docker-compose.yml文件实现更复杂部署:
yamlversion: '3' services: nginx: image: nginx:alpine # 使用轻量级Alpine版本 container_name: my-nginx ports: - "80:80" - "443:443" # 映射HTTPS端口 volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro - ./conf.d:/etc/nginx/conf.d:ro # 挂载虚拟主机配置 - ./html:/usr/share/nginx/html:ro # 静态文件目录 - ./ssl:/etc/nginx/ssl:ro # SSL证书目录 restart: unless-stopped # 容器退出时自动重启(除非手动停止) networks: - nginx-network networks: nginx-network: driver: bridge
启动服务:
bashdocker-compose up -d
Nginx官方镜像本身不提供环境变量注入配置的功能,所有配置需通过挂载配置文件实现。常用配置路径:
/etc/nginx/nginx.conf/etc/nginx/conf.d/(默认包含default.conf)/usr/share/nginx/html/var/log/nginx(包含access.log和error.log)典型虚拟主机配置示例(conf.d/my-site.conf):
nginxserver { listen 80; server_name example.com [***] root /usr/share/nginx/html; index index.html index.htm; location / { try_files $uri $uri/ =404; } # 启用gzip压缩 gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; }
创建负载均衡配置(conf.d/load-***.conf):
nginx# 定义后端服务器组 upstream backend_servers { server backend1:8080 weight=5; # 权重5 server backend2:8080; # 默认权重1 server backend3:8080 backup; # 备份服务器 } server { listen 80; server_name api.example.com; location / { proxy_pass [***] proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
配合docker-compose使用时,需确保Nginx容器与后端服务在同一网络中。
-v)挂载,避免容器删除导致数据丢失docker exec -it my-nginx nginx -t验证配置语法正确性nginx:1.25-alpine)而非latest,确保环境一致性--memory和--cpus参数限制容器资源使用,避免影响主机系统manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务