Closed jiker-burce closed 1 year ago
可以,按照你以上的设置不变,当然fastcgi_pass php80:9000;
也不需要改动,只需要在docker-composer.yml
文件中${NGINX_HTTP_HOST_PORT}:8088
,改为8088:8088
当然可以,就这这样配置就行了,不过你这样肯定会报错的,可以把站点2的default去掉,或者两个站点的default都去掉,其他不用改
目前状况:
站点1
server {
listen 8088;
server_name api1.website.test;
root /www/api1/public;
index index.php index.html index.htm;
access_log /var/log/nginx/nginx.api1.access.log main;
error_log /var/log/nginx/nginx.api1.error.log warn;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass php:9000;
include fastcgi-php.conf;
include fastcgi_params;
}
}
- 站点2
server { listen 8088; server_name api2.website.test; root /www/api2/public; index index.php index.html index.htm;
access_log /var/log/nginx/nginx.api2.access.log main;
error_log /var/log/nginx/nginx.api2.error.log warn;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass php:9000;
include fastcgi-php.conf;
include fastcgi_params;
}
}
- nginx
ports:
- "${NGINX_HTTP_HOST_PORT}:8088"
- "${NGINX_HTTPS_HOST_PORT}:443"
- .env
NGINX_VERSION=1.19.1-alpine NGINX_HTTP_HOST_PORT=80 NGINX_HTTPS_HOST_PORT=443
- 宿主机 hosts
127.0.0.1 api1.website.test 127.0.0.1 api2.website.test
- 浏览器访问`api1.website.test`结果:
该网页无法正常运作 api1.website.test 目前无法处理此请求。 HTTP ERROR 502
我觉得你先要搞秦楚nginx的基本用法,先了解什么叫空主机头,然后再来说你主机配置的问题。
我觉得你先要搞秦楚nginx的基本用法,先了解什么叫空主机头,然后再来说你主机配置的问题。
也试过了,配置空头(设置404),访问localhost 就是404,访问域名依旧是502
排查到问题了,是开启了vpn导致127.0.0.1 自动转发到本地的vpn端口上了。 通过观察浏览器console请求可以发现问题。
之前我的配置没啥问题;空头主机不配置也没啥关系。
经研究,解决开发需要关闭vpn的问题
*.test
点击「好」此时,打开vpn也不会出现502了。另外,感谢各位的回复。
站点1:
站点2:
要求:
疑问: