错误:nginx:当通过docker compos将本地默认值挂载到nginx时,/etc/nginx/conf.d/default.conf中的未知指令"listen:"



将default.conf安装到/etc/nginx/conf.d/default.conf:ro时出错,返回错误为未知指令

docker-compose.yml

version: "3"
services:
nginx:
image: nginx:stable-alpine
ports:
- "3000:80"
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
node-app:
environment:
- PORT=3000
depends_on:
- mongo
mongo:
image: mongo
environment:
- MONGO_INITDB_ROOT_USERNAME=admin
- MONGO_INITDB_ROOT_PASSWORD=admin
volumes:
- mongo-db:/data/db
redis:
image: redis
volumes:
mongo-db:

default.conf

server {
listen: 80;
location /api {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://node-app:3000;
proxy_redirect off;
}
}

来自nginx容器的日志

/docker-entrypoint.sh:/docker-eentrypoint.d/不为空,将尝试执行配置

/docker-entrypoint.sh:在/doker-entrypoint.d/中查找shell脚本

/docker-entrypoint.sh:启动/docker-eentrypoint.d/10-listen-on-ipv6-by-default.sh

10-listen-on-ipv6-by-default.sh:info:获取/etc/nginx/conf.d/default.conf 的校验和

10-listen-on-ipv6-by-default.sh:info:/etc/nginx/conf.d/default.conf与打包版本不同

/docker-entrypoint.sh:启动/doker-entrypoint.d/20-envsubst-on-templates.sh

/docker-entrypoint.sh:启动/doker-entrypoint.d/30-tune-worker-processes.sh

/docker-entrypoint.sh:配置完成;准备启动

2022/04/04 05:14:22[emerg]1:未知指令";听:";在/etc/nginx/conf.d/default.conf:2 中

nginx:[emerg]未知指令";听:";在/etc/nginx/conf.d/default.conf:2 中

移除位置后面的:。这只是一种简单的配置";语法";错误试试这个:

server {
#listen: 80;
listen 80;
location /api/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NGINX-Proxy true;
proxy_pass http://node-app:3000;
proxy_redirect off;
}
}

最新更新