Docker之nginx的生产环境的部署

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/linzhefeng89/article/details/101678391

前言

容器已经是越来越流行了,现在大家都喜欢使用容器化部署,刚好接到一个需求,需要将nginx使用docker来实现部署,同时前端人员只需要替换自己的html文件就可以了,基于这个需求我们开始使用我们的docker容器来部署我们的nginx。

第一步拉取最新的docker镜像

直接执行以下的命令就完成我们的docker镜像的拉取:

docker pull nginx

nginx镜像映射详解

/usr/share/nginx/html:nginx容器存放html所在的目录
/etc/nginx/nginx.conf:nginx容器的配置文件所在的位置
/var/log/nginx:nginx容器的日志所在的位置

基于nginx镜像的启动

首先在我们的服务器创建以下的工程目录:

/home/taxctrl/app/nginx

接着在nginx目录底下创建html目录和conf目录以及logs目录,分别用于存放我们的html的文件和我们的自定义的nginx.conf的文件配置信息,logs目录用于存放我们的日志信息,以下是nginx.conf的配置信息:

#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}

http {
    sendfile        on;
    keepalive_timeout  65;
                      
    gzip  off;
    default_type application/octet-stream;


    server {
        listen       8081;
        server_name  localhost;
        
        client_body_buffer_size 50m;
        client_max_body_size 50m;

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

        location /gateway/ {
	      proxy_hide_header X-Frame-Options;
	      add_header X-Frame-Options SAMEORIGIN;
          rewrite ^/gateway/(.*) /$1 break;
          proxy_pass http://xx.xx.xx.xx:xx/;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
       
    }
}

那么接下来我们就基于我们的镜像来编写启动我们的docker的命令:

 docker run --name nginx-dev -p 8081:8081 
 # 实现nginx的日志的挂载
 -v /home/taxctrl/app/nginx/conf/dev/logs:/var/log/nginx 
 # 实现配置文件的挂载
 -v /home/taxctrl/app/nginx/conf/dev/nginx.conf:/etc/nginx/nginx.conf 
 # 实现html文件的挂载,我们只需要把我们需要发布的html文件放到/home/taxctrl/app/nginx/html即可
 -v /home/taxctrl/app/nginx/html:/usr/share/nginx/html 
 # 以管理员期限来运行,若不加这段则会出现挂载不上去报期限错误
 --privileged=true  
 -d docker.io/nginx

到此我们就完成了我们的nginx的部署了,大家可以直接放置一个index.html文件到我们的html目录中,然后访问相应服务的8081端口,大家就可以看到我们的index.html的文件的信息。

猜你喜欢

转载自blog.csdn.net/linzhefeng89/article/details/101678391