Docker搭建Nginx

参考

https://www.runoob.com/docker/docker-install-nginx.html

Docker 安装 Nginx

Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务 。

1、查看可用的 Nginx 版本

访问 Nginx 镜像库地址: https://hub.docker.com/_/nginx?tab=tags

可以通过 Sort by 查看其他版本的 Nginx,默认是最新版本 nginx:latest

Docker搭建Nginx

你也可以在下拉列表中找到其他你想要的版本:

Docker搭建Nginx

此外,我们还可以用 docker search nginx 命令来查看可用版本:

$ docker search nginx
NAME                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                     Official build of Nginx.                        3260      [OK]       
jwilder/nginx-proxy       Automated Nginx reverse proxy for docker c...   674                  [OK]
richarvey/nginx-php-fpm   Container running Nginx + PHP-FPM capable ...   207                  [OK]
million12/nginx-php       Nginx + PHP-FPM 5.5, 5.6, 7.0 (NG), CentOS...   67                   [OK]
maxexcloo/nginx-php       Docker framework container with Nginx and ...   57                   [OK]
...

2、取最新版的 Nginx 镜像

这里我们拉取官方的最新版本的镜像:

$ docker pull nginx:latest

Docker搭建Nginx

3、查看本地镜像

使用以下命令来查看是否已安装了 nginx:

$ docker images

Docker搭建Nginx

在上图中可以看到我们已经安装了最新版本(latest)的 nginx 镜像。

4、运行容器

安装完成后,我们可以使用以下命令来运行 nginx 容器:

$ docker run --name nginx-test -p 8080:80 -d nginx

参数说明:

  • --name nginx-test:容器名称。
  • -p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
  • -d nginx: 设置容器在在后台一直运行。

Docker搭建Nginx

5、安装成功

最后我们可以通过浏览器可以直接访问 8080 端口的 nginx 服务:

Docker搭建Nginx

 

 

 

以下dangling-----------------------------------------

安装

docker pull nginx
docker run -d --name nginx -p 80:80 -p 443:443 -v /nginx/conf/:/etc/nginx/conf.d/ -v /nginx/logs:/var/log/nginx nginx

 

#原来:docker run -d --name nginx -p 80:80 -p 443:443 -v /nginx/conf/nginx.conf:/etc/nginx/conf.d/default.conf -v /nginx/logs:/var/log/nginx nginx

正向代理与反向代理

  • 正向代理:隐藏了真实的客户端
  • 反向代理:隐藏了真实的服务端
    默认写法
server {
        listen       80;
        listen  [::]:80;
        server_name  localhost;
    location / {
                root   /usr/share/nginx/html;
                index  index.html index.htm;
    }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
                root   /usr/share/nginx/html;
        }
}

静态文件服务器

server {
    listen       80;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    location /static {
        alias   /data;
        autoindex on;
    }
}

负载均衡

upstream testServe {
        server 127.0.0.1:8000 weight=3;
        server 127.0.0.1:8001;
        server 127.0.0.1:8002;
}
server {
        listen 80;
        localhost / {
                proxy_pass http://testServe;
        }
}

修改请求信息,转发到目标路径

server {
    listen  8080;
    location / {
        proxy_pass http://10.251.63.35:8080;
    }
    location /rewrite {
        if ($uri = /rewrite) {
            rewrite /rewrite http://10.251.63.35:8080 break;
        }
        rewrite /rewrite/([^/]*)/(.*) http://10.251.63.35:8080/$1/$2 break;
    }
}
上一篇:Android Studio 模拟器卡慢、占内存解决方法,flutter翻译中文


下一篇:Eigen编译_Eigen向量化_内存对齐 EIGEN_MAKE_ALIGNED_OPERATOR_NEW