docker启动nginx及常见nginx配置方式例子解析

在这里插入图片描述

代码示例:

Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker 启动 Nginx

首先,确保你已经安装了 Docker。接下来,你可以使用以下命令来启动 Nginx:

docker run --name some-nginx -d -p 80:80 nginx

这条命令做了以下几件事:

  • --name some-nginx 给容器指定一个名称。
  • -d 让容器在后台运行。
  • -p 80:80 将容器的80端口映射到宿主机的80端口。
  • nginx 指定使用官方的 Nginx 镜像。

常见 Nginx 配置方式

Nginx 的配置文件通常位于 /etc/nginx/nginx.conf,但 Docker 容器中的配置文件可能位于不同的路径。以下是一些常见的 Nginx 配置示例:

  1. 基本的 Web 服务器配置
server {
    listen 80;
    server_name example.com www.example.com;

    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
    }

    location /images/ {
        root /usr/share/nginx;
    }

    # 重定向到HTTPS
    location / {
        return 301 https://$server_name$request_uri;
    }
}
  1. 配置 HTTPS

要配置 HTTPS,你需要 SSL 证书。这里是一个使用自签名证书的示例:

server {
    listen 443 ssl;
    server_name example.com www.example.com;

    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;

    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
    }
}
  1. 负载均衡

Nginx 可以作为反向代理服务器,实现负载均衡:

upstream backend {
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

server {
    listen 80;

    location / {
        proxy_pass http://backend;
        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;
    }
}
  1. 缓存配置
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;

server {
    listen 80;

    location / {
        proxy_cache my_cache;
        proxy_pass http://backend;
    }
}
  1. 限制请求速率
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;

server {
    listen 80;

    location / {
        limit_req zone=mylimit;
        proxy_pass http://backend;
    }
}

在 Docker 中使用自定义 Nginx 配置

如果你需要使用自定义的 Nginx 配置,你可以将配置文件复制到 Docker 容器中:

  1. 将你的 Nginx 配置文件保存到本地目录。
  2. 创建一个 Dockerfile:
FROM nginx
COPY ./my_nginx.conf /etc/nginx/conf.d/default.conf
  1. 构建镜像:
docker build -t my-nginx .
  1. 运行容器:
docker run --name my-running-nginx -d -p 80:80 my-nginx

这样,你就可以使用自定义的 Nginx 配置了。记得在实际部署时,根据你的具体需求调整配置。

喜欢本文,请点赞、收藏和关注!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乔丹搞IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值