Nginx服务器之Docker快速部署方案

Nginx是大规模互联网服务的最佳前端服务器,在Web服务、正向代理、反向代理、负载均衡等方面大量应用。Docker容器技术这两年超级火爆,可以实现快速的应用服务器部署。下面介绍通过Docker快速部署Nginx服务的方法,既可以用于大规模集群,也可以用于小规模服务、内部网站和个人网站的服务发布。

快速开始

运行下面的脚本:

docker run --name nginx -d -p 80:80 tutum/nginx

然后到浏览器输入http://localhost ,即可看到缺省的结果。

--name nginx ,该参数命名容器实例的名字,便于使用 docker rm -f nginx 直接删除。

现在,我们进去看一下容器里面的配置,运行:

docker exec -it nginx /bin/bash

缺省的Nginx安装在var/lib/nginx下,配置在etc/nginx下面,包括nginx.conf主配置文件,conf.d和site-enabled是附加的配置文件。后面,我们将会该目录映射到宿主机目录,以便于修改和管理。

网站开发

在宿主机建立一个目录app,然后将其映射到容器nginx的/app目录。/app目录在容器的缺省配置文件 /etc/nginx/site-enabled 中已经将/app设为缺省的网站根目录了。

运行如下命令:

docker run --name nginx -d -p 80:80 -v /home/username/app /app utum/nginx

然后到/home/username/app下创建一个index.htm文件,随便写点啥(vim index.htm)。再去刷新浏览器,可以看到刚才写入的内容了。如果没有看到,试试 docker logs nginx,看看日志。

修改配置文件

在宿主机建立sites-enabled,然后映射到容器的/etc/nginx/sites-enabled/。注意下面的命令要使用绝对路径,将/.../sites-enabled/换成自己的绝对路径。 进目录/.../sites-enabled/,建立default配置文件。内容为标准的nginx配置文件,如:

server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /app; index index.html index.htm; server_name localhost; location / { try_files $uri $uri/ =404; }}

上面这个文件是tutum/nginx里面的/etc/nginx/sites-enabled/default文件内容。

然后,运行如下命令:

docker run --name nginx -d -p 80:80 -v /.../sites-enabled/ /etc/nginx/sites-enabled/-v /home/username/app /app utum/nginx

使用Dockerfile

上面是使用命令行运行,下面将这些参数放到Dockerfile里面,然后运行docker build就可以生成自己的衍生镜像,放到自己的Docker Registry仓库里面运行。

FROM tutum/nginxADD sites-enabled/ /etc/nginx/sites-enabled/ADD app/ /app/EXPOSE 80

注意:

这里将sites-enabled/和app/目录里的内容打包到docker镜像里面去了,因此从任何其它机器可以直接拉取镜像就可以运行,非常方便。

但这也会带来安全性的隐患,比如将数据(如密码)传送到了运行机器,因此,切勿将这样的【打包镜像】传到公共的镜像仓库中。


希望篇文章可以帮助在这个行业发展的朋友和童鞋们,在论坛博客等地方少花些时间找资料,把有限的时间,真正花在学习上,有需要帮助或资料的朋友可以加Q号:625452324相信对于已经工作和遇到技术瓶颈或者写博客码友,都会有好的帮助。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,312评论 19 139
  • 没有反思的人生不值得过——苏格拉底 192期 C3 徐兰芳 #周检视#第6周20180421 本周金句: 完成 ...
    LANGFANG阅读 812评论 0 0
  • 五月十五,榆次,英雄庄,清晨,英雄会。 庄主公孫越虽已花甲之年,早已不在江湖行走,然豪迈不減少年时,与盖聂素有交情...
    红尘久客阅读 3,783评论 5 9
  • 我的家乡在农村,它有一个很美好的名字叫建富村,一个在江西省地图没有任何标志的地方。 这里山清水秀,有点像陶渊明的世...
    快乐的嫣红阅读 4,476评论 14 14
  • 钱钟书,中国现代作家、文学研究家,代表作是小说《围城》。《围城》是中国现代文学史上一部风格独特的讽刺小说。被誉为“...
    无花无生阅读 9,059评论 2 3