使用 Docker 的最小本地 nginx 设置
如果你还没有安装 Docker,请参阅我们的指南如何在 30 秒内在 Ubuntu 上安装 docker 和 docker-compose
- 创建你的
nginx配置文件(my-nginx.conf)。这是反向代理 TechOverflow 的模板:
my-nginx.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
location / {
proxy_pass https://techoverflow.net;
proxy_http_version 1.1;
}
}- 使用
docker启动nginx:
run_nginx_docker.sh
docker run -it -p 80:80 --rm -v $(pwd)/my-nginx.conf:/etc/nginx/conf.d/default.conf nginx:latest- 访问 http://localhost 查看结果!
docker 命令说明:
docker run -it:创建新的 docker 容器并以交互模式运行(即它不会在后台运行,一旦你终止命令,nginx 将退出)-p 80:80:使nginx服务器的端口 80(标准 HTTP 端口)在主机的端口80上可用。第一个80是主机端口,而第二个端口80是容器的端口。--rm:容器停止后,删除它!-v $(pwd)/my-nginx.conf:/etc/nginx/conf.d/default.conf:将当前目录($(pwd))中的 my-nginx.conf 映射到容器上的 /etc/nginx/conf.d/default.conf。nginx:latest:在容器中运行latest版本的来自 DockerHub 的官方 nginx 镜像。
nginx 配置文件说明:
server { ... }:此块内的所有内容将归属在一起。你可以listen 80 default_server;监听端口 80(标准 HTTP 端口)并使其成为默认服务器,即响应任何没有配置其他服务器的域名。listen [::]:80 default_server;与上一行相同,但用于 IPv6。[::]表示:监听所有 IPv6 地址。location / { ... }:此块内的所有内容对任何以/开头的 URL 有效,即任何 URL。在类似location /app { ... }的子句中,子句的内容仅对以/app开头的 URL 有效,例如http://localhost/app/或http://localhost/app/dashboard。proxy_pass https://techoverflow.net;使用反向代理将当前位置(/)的请求重定向到服务器https://techoverflow.net。proxy_http_version 1.1;这设置 nginx 用于向https://techoverflow.net发出请求的 HTTP 版本。这并不总是必要的,但可能会增加兼容性。
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow