Docker安装nginx

导读:本篇文章讲解 Docker安装nginx,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

nginx以高性能著称,单机情况下也能抗住数万并发。在开发中常用来做负载均衡,帮助我们把来自客户端的流量分发到后台对应的服务器上面。交给后端服务器来处理。在项目部署中具有至关重要的作用。

其实nginx的作用太多了,比如说作为流量负载和业务负载。甚至能够利用nginx来实现多级缓存,不过这个缓存是要基于openRestry来进行开发,使用的是lua脚本语言,其实很类似与vue。非常的容易上手。如果说网站并发比较大的情况下,可以考虑让nginx来替代我们抗下第一波流量。相比于tomcat的数百并发量来说,nginx无疑是优秀了太多。

好了,不扯太远了,今天的主体就是nginx的安装,不过当下主流都是使用docker,所以这里用docker来进行安装nginx。

一、下载镜像

首先就是镜像的下载,如果需要查看进行版本可以使用版本查看命令,来查询当前可用的版本

docker search nginx

因为我这里是自己电脑所以我就直接上最新稳定版本了,也就是不用写版本,默认直接最新版本。

docker pull nginx

二、启动临时容器,复制配置文件到本地目录

在安装的时候千万记得要把配置文件目录挂载到本地磁盘上,这样以后修改配置文件直接在本地就能修改了。非常的简单而且方便。如果不挂载出来会非常的麻烦。

我这里准备把nginx的配置目录放到 /usr/local/docker/nginx下面,因为配置文件去别的地方找也麻烦所以干脆一点直接先启动一下,把里面的配置文件copy出来,然后再利用复制出来的文件作为配置文件,去创建一个新的容器,挂载到我们复制出来的配置文件目录上就行了。具体操作如下:

#进入本地local目录

cd /usr/local

#当前目录下新建 docker/nginx/conf文件夹  -p 会帮助创建多级文件夹

mkdir -p docker/nginx/conf

#然后进入到nginx目录

cd docker/nginx


#启动容器
docker run -d --name nginx nginx

#复制文件到本地目录

docker cp nginx:/etc/nginx/nginx.conf $PWD/conf

docker cp nginx:/etc/nginx/conf.d $PWD/conf

#停止临时容器

docker container stop nginx

#删除临时容器

docker container rm nginx

三、启动nginx容器,并加载本地配置文件

我这里默认使用80端口和443,如果需要替换端口直接修改就好了。不会的建议学习下docker的基础知识,因为后面的开发中感觉会经常跟这玩意儿打交道,可能还要编写Dockerfile文件,学习一下还是很有必要的。

 docker run -d -p 80:80 -p 443:443   --name nginx  -v /usr/local/docker/nginx/html:/usr/share/nginx/html  -v /usr/local/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  -v /usr/local/docker/nginx/conf/conf.d:/etc/nginx/conf.d  -v /usr/local/docker/nginx/logs:/var/log/nginx  nginx 

四、查看是否启动成功

首先可以通过命令查看

docker ps

Docker安装nginx

 可以看到nginx容器已经成功启动。

五、端口开放

接下来,如果我们的服务器没有关闭防火墙,那么就要去放开对应的80端口和443端口了。如果防火墙关闭了可以直接跳过这一步。

#80 端口
firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --zone=public --add-port=443/tcp --permanent

#千万记得重载一下
firewall-cmd --reload

如果对防火墙命令有需求的可以看一下我的这篇博客,我日常中用到的关于防火墙的命令都记录在里面了,感兴趣的自行查阅吧

centos7防火墙端口开放操作命令_极速小乌龟的博客-CSDN博客_centos7防火墙开放端口命令1.防火墙基本操作命令启动: systemctl start firewalld关闭: systemctl stop firewalld查看状态: systemctl status firewalld开机禁用 : systemctl disable firewalld开机启用 :systemctl enable firewalld2.常用命令查看区域信息:…Docker安装nginxhttps://blog.csdn.net/qq_35771266/article/details/91046567特别说明:如果购买的是云服务器,那么到这里以后其实你还有一步要做,就是要放开安全组的端口,那个一般都是界面操作的,登录控制台放开一下就好了。

六、访问测试

接下来我们就可以通过浏览器来访问我们搭建好的nginx了。我们在浏览器输入服务器IP即可:

。。。。我得到了一个403,不过既然出现了这个页面也就说明我们搭建是成功了,检查了一下是copy的时候index页面忘记copy了,不过问题不大,我们自己写一个放进去就好了。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
    <title>极速小乌龟</title>
    <!--preload-links-->
    <!--app-context-->
  </head>
  <body>
    <div>极速小乌龟</h2>
    </div>
  </body>
</html>

然后放到这个目录下,再来访问:

Docker安装nginx

 OK,成功了。好了就到这里吧。虽然有点问题不过不是很大,一般这个页面也都是需要定制化或者设置别的默认页面的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/97016.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!