<返回更多

Docker 安装 Nginx

2020-09-10    
加入收藏

对于开发人员来说,要学习很多的容器、缓存、消息中间件、数据库等。比如:Tomcat,jboss,websphere,redis,mongoDB,mq,MySQL等。但是在自己项目中不一定都会用到,为了学习,经常会在自己的电脑上安装虚拟机,然后把这些工具安装到虚拟机上,再抽出时间来学习、研究。但是由于下载麻烦并且还会涉及版本的问题,以及下载源都是英文的,下载非常的不方便。现在我们会简单的使用Docker,这些问题就迎刃而解了。今天我们就通过docker安装Nginx来给大家举个例子吧。

一、什么是Nginx?

Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的是一个高性能的 HTTP 和反向代理 web 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。在高连接并发的情况下,Nginx是Apache服务器不错的替代品。

二、Nginx的优点。

1.可以高并发连接。

因为Nginx是基于AIO的线程模型,而Tomcat8以后是默认的NIO的线程模型,Tomcat8之前是默认的BIO的线程模型。基于AIO线程模型的Nginx消耗的资源更加少,性能更好。可以支持大量的并发,在实际生产中可以支持2-4万的并发连接数。

2.成本低廉。

在并发数较大的项目上经常会使用负载均衡机制,一些银行则会使用F5BIG-IP等硬件负载均衡交换机,需要至少10万以上的人民币。而在一些项目经费不是特别多的公司,和很多的互联网公司来说更加倾向与使用免费的,Nginx经常用来做负载均衡使用,因为是开源软件,即使商用也是免费的,因此很多的公司使用Nginx负载均衡,解决高并发问题。

3.Nginx的功能很多。

除了负载均衡之外,还有反向代理,黑白名单,限流,支持热部署,支持集群化部署。

三、Docker安装Nginx。

1.使用docker命令查看可用版本。

docker search nginx

 

Docker 安装 Nginx

docker search nginx

2.拉取最新版的nginx镜像。

docker pull nginx:latest

 

Docker 安装 Nginx

docker pull nginx:latest

3.查看本地镜像。

docker images

 

Docker 安装 Nginx

docker images

4.运行nginx容器。

docker run --name nginx2 -p 8080:80 -d nginx

5.通过浏览器访问,确认安装成功。

Docker 安装 Nginx

 

确认访问nginx首页成功,nginx安装成功。

6.安装过程中可能出现的问题。

1>启动nginx容器报错:WARNING: IPv4 forwarding is disabled. Networking will not work.

Docker 安装 Nginx

 

解决方案:

vi /usr/lib/sysctl.d/00-system.conf
添加如下代码:net.ipv4.ip_forward=1
重启network服务systemctl restart network

2>当启动nginx服务时,发现命名出现冲突:

docker: Error response from daemon: Conflict. The container name "/nginx-test" is already in use by container "33045ccc414f321d0920ae4a5e0e11160603d909855ce5a54eaccc7ee66ec3b6". You have to remove (or rename) that container to be able to reuse that name.

Docker 安装 Nginx

 

命名出现冲突,可以运行一个名字不同的容器,比如我的命名为了nginx2,也可以删除之前的容器。

3>在浏览器无法访问nginx服务。

确定网络是否配好,然后ip+端口号(在这里为8080)。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍最近更新
更多资讯 >>>