今天下午部署完tomcat和mysql之后就接着部署Nginx,本以为Nginx也和之前两个一样简单,但是就因为标题这个问题,花费了我一个小时纠错。

过程复现:

解决完上一篇博客(https://www.cnblogs.com/Cra2iTeT/p/16131946.html)的挂载文件问题之后,立马就启动了服务,兴高采烈到浏览器输入xxxx.xxx.xxxx(我个人的地址),结果

Nginx无情的拒绝了我的访问。他无情但是我得有意呀,这个网站我今天势必要打开。

思路1:

我以为是端口映射出现了问题,毕竟之前tomcat想要访问还得把对应端口永久打开,我就捣鼓了一阵子,可是我部署tomcat的时候就连带着把防火墙给关了呀,所以这条路X了。

思路2:

不是端口映射有问题,那会不会是nginx自己有问题呢?我又使用下面的语句启动了另外一个nginx服务,你猜怎么着?浏览器居然放他过了。

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

为什么就不能放我过呢?

思路3:

诶,你这个启动语句有问题啊,版本都没指定,你要是指定了版本我肯定给你过呀。

docker run -id --name=c_nginx -p 80:80 \
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
-v $PWD/conf/conf.d:/etc/nginx/conf.d:ro \
-v $PWD/html:/usr/share/nginx/html:rw \
-v $PWD/logs:/var/log/nginx \
nginx

启动。

你故意找茬是吧?卒。

最后解:

我之所以写这个启动语句也是因为之前遇到无法挂载文件问题的时候查看了别人的博客,他们的博客都是这种形式的启动语句

-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /data/nginx/conf/conf.d:/etc/nginx/conf.d:ro \
-v /data/nginx/html:/usr/share/nginx/html:rw \
-v /data/nginx/logs:/var/log/nginx -d nginx

既然别的可能都被排除了,就只可能是这些配置有问题咯。

我又想起来教学视频的启动语句是

docker run -id --name=c_nginx -p 80:80 \
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
-v $PWD/html:/usr/share/nginx/html:rw \
-v $PWD/logs:/var/log/nginx \
nginx:1.21.6

这样的,把多的这句话去了果然就好了。

总结:

当我遇到这个问题的时候,我的浏览器至少打开过三四十个新窗口,但是都没有一个能够解决我问题的。虽然一两个小时的时间被耗在了这样简单的问题上,但是也不是没有收获的。如果我按照视频演示的那样,安装和老师相同的版本,我就不会遇到挂载文件问题,也就不会有今天这个问题,那我之后再遇到相同情形的时候照样得花不少时间解决,我现在就发现了问题并且解决了问题,写下了解决的办法和思考过程,嗯...怎么不算收获呢?

Docker部署Nginx启动成功,浏览器拒绝访问的更多相关文章

  1. 使用docker部署nginx+tomcat架构(2):访问mysql数据库

    上一篇完成了通过docker部署nginx+tomcat的基础软件架构,但是距离一个真正可用的软件架构还差得很远.其中最重要的一点是缺少数据库这个角色的存在,那么本篇就来完善这一点. 废话少说,直接进 ...

  2. 使用docker部署nginx并配置https

    我只有一台服务器,但我想在这台服务器上运行多个项目,怎么办? 总不能靠加端口区分吧? 百度和Google是个好东西,于是我找到了答案,使用nginx. 通过nginx,我可以给我的一台服务器配置两个域 ...

  3. Docker部署Nginx并修改配置文件

    Docker部署Nginx并修改配置文件 一.拉取nginx镜像 docker pull nginx 二.在宿主机中创建挂载目录 mkdir -p /data/nginx/{conf,conf.d,h ...

  4. Docker部署Nginx应用(2)

    Docker部署Nginx应用(2) 1.拉取Nginx镜像 [root@localhost ~]# docker pull nginx Using default tag: latest lates ...

  5. docker(部署常见应用):docker部署nginx

    上回说到centos安装docker. 这次用实战,docker部署运行常见的应用. docker常用命令 参看:docker命令大全.这里不做赘述. docker部署nginx 1.docker h ...

  6. docker安装nginx并配置通过https访问

    1. 下载最新的nginx的docker image docker pull nginx:latest 创建挂载路径 2.准备nginx需要的文件 nginx的配置文件 首先是nginx.conf文件 ...

  7. 使用docker部署nginx+tomcat架构(3):使用docker-compose简化部署操作

    经历了之前的两篇,我们已经大体上了解了docker部署容器的过程. 使用docker部署nginx+tomcat架构 使用docker部署nginx+tomcat架构():访问mysql数据库 不过, ...

  8. Windows Time服务无法启动 错误5拒绝访问

    接着上次写的文章 XP和Win7设置系统自动同步系统时间方法 本文就把故障出现的过程和解决方法一共写下来,希望大家可以看到本文在解决此项服务的思路.大家以后出现类似的问题和问题可以一样使用此类方法解决 ...

  9. Tomcat服务启动成功,但访问index.jsp出错 (jspInit)

    本文引用自 --> http://zhouhaitao.iteye.com/blog/1164736 Tomcat服务启动成功,但访问index.jsp出错 环境:Tomcat6 + jdk6 ...

随机推荐

  1. 报错----运行springboot项目出现:Type javax.xml.bind.JAXBContext not present

    目的:运行springboot项目出现:Type javax.xml.bind.JAXBContext not present 环境: 问题:运行springboot项目出现:Type javax.x ...

  2. 自定义函数实现atoi功能

    思路: 列如char a[ ] ="123" "1" "2" "3' "\0" 首先遍历这个字符串 知道这个字 ...

  3. K8S原来如此简单(六)Pod调度

    我们前面部署的pod调度取决于kube-scheduler,它会根据自己的算法,集群的状态来选择合适的node部署我们的pod. 下面我们来看下如何来根据我们自己的要求,来影响pod的调度. 定向no ...

  4. 网络编程-Python的netaddr库

    In [1]: from netaddr import * In [2]: ip = IPAddress('172.16.100.39')   ip.format()ip地址的格式化 '172.16. ...

  5. Spring两种注入方式

    1.XML注入 2.标签注入

  6. mysql行锁、表锁。乐观锁,悲观锁

    锁定用于确保事务完整性和数据库一致性. 锁定可以防止用户读取其他用户正在更改的数据,并防止多个用户同时更改相同的数据. 如果不使用锁定,数据库中的数据可能在逻辑上变得不正确,而针对这些数据进行查询可能 ...

  7. MariaDB InnoDB基本介绍

    InnoDB锁定模式 事务获取锁,以防止并发事务修改甚至读取某些行或行范围.这样做是为了确保并发写入操作不会冲突. 共享锁(S)和排他锁(X) 两种标准的行级锁是共享锁(S)和排他锁(X) 获取共享锁 ...

  8. 服务端处理 Watcher 实现 ?

    1.服务端接收 Watcher 并存储 接收到客户端请求,处理请求判断是否需要注册 Watcher,需要的话将数据节点 的节点路径和 ServerCnxn(ServerCnxn 代表一个客户端和服务端 ...

  9. Memcached 服务特点及工作原理是什么?

    a.完全基于内存缓存的 b.节点之间相互独立 c.C/S 模式架构,C 语言编写,总共 2000 行代码. d.异步I/O 模型,使用 libevent 作为事件通知机制. e.被缓存的数据以 key ...

  10. C语言之main方法解析(知识点1)

    1.注释       /*自带注释*/2.引包       #include <stdio.h>3.主方法    void main{}4.执行体     printf("打印& ...