Docker搭建Nginx

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

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

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

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

此外,我们还可以用 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] ...

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

$ docker pull nginx:latest

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

$ docker images

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

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

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

参数说明:

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

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

 

 

 

以下 docker 1.3 会报错,1.8 没问题

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; } }

原文链接:https://www.dianjilingqu.com/77371.html

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享