Docker部署Nginx启动成功,浏览器拒绝访问
今天下午部署完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启动成功,浏览器拒绝访问的更多相关文章
- 使用docker部署nginx+tomcat架构(2):访问mysql数据库
上一篇完成了通过docker部署nginx+tomcat的基础软件架构,但是距离一个真正可用的软件架构还差得很远.其中最重要的一点是缺少数据库这个角色的存在,那么本篇就来完善这一点. 废话少说,直接进 ...
- 使用docker部署nginx并配置https
我只有一台服务器,但我想在这台服务器上运行多个项目,怎么办? 总不能靠加端口区分吧? 百度和Google是个好东西,于是我找到了答案,使用nginx. 通过nginx,我可以给我的一台服务器配置两个域 ...
- Docker部署Nginx并修改配置文件
Docker部署Nginx并修改配置文件 一.拉取nginx镜像 docker pull nginx 二.在宿主机中创建挂载目录 mkdir -p /data/nginx/{conf,conf.d,h ...
- Docker部署Nginx应用(2)
Docker部署Nginx应用(2) 1.拉取Nginx镜像 [root@localhost ~]# docker pull nginx Using default tag: latest lates ...
- docker(部署常见应用):docker部署nginx
上回说到centos安装docker. 这次用实战,docker部署运行常见的应用. docker常用命令 参看:docker命令大全.这里不做赘述. docker部署nginx 1.docker h ...
- docker安装nginx并配置通过https访问
1. 下载最新的nginx的docker image docker pull nginx:latest 创建挂载路径 2.准备nginx需要的文件 nginx的配置文件 首先是nginx.conf文件 ...
- 使用docker部署nginx+tomcat架构(3):使用docker-compose简化部署操作
经历了之前的两篇,我们已经大体上了解了docker部署容器的过程. 使用docker部署nginx+tomcat架构 使用docker部署nginx+tomcat架构():访问mysql数据库 不过, ...
- Windows Time服务无法启动 错误5拒绝访问
接着上次写的文章 XP和Win7设置系统自动同步系统时间方法 本文就把故障出现的过程和解决方法一共写下来,希望大家可以看到本文在解决此项服务的思路.大家以后出现类似的问题和问题可以一样使用此类方法解决 ...
- Tomcat服务启动成功,但访问index.jsp出错 (jspInit)
本文引用自 --> http://zhouhaitao.iteye.com/blog/1164736 Tomcat服务启动成功,但访问index.jsp出错 环境:Tomcat6 + jdk6 ...
随机推荐
- 电子检索实体书「GitHub 热点速览 v.22.12」
不知道有没有小伙伴遇到实体书快速定位指定内容的问题,凭借着记忆里很难快速翻阅到正确的页数,但 paperless-ngx 也许能帮上你的忙,它除了能将你的实体书籍电子化变成文件库里的一员之外,还能帮你 ...
- Mybaties——动态sql
动态 SQL 是 MyBatis 的强大特性之一.如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表 ...
- 定位一个oom问题
当系统出现oom问题时,我们一般的定位思路是怎样的? 系统OOM常见的原因有: 1.用户态内存需求过多,资源不足: 2.大页配置不正确: 3.水位线值异常: 4.slab内存过多: 5.rcu异常: ...
- RDMA--libibverbs代码分析(2)-设备发现
基于上一篇文章https://www.cnblogs.com/xingmuxin/p/11057845.html 我们现在从分析libibverbs代码,跳入到分析内核代码,代码位置在./driver ...
- .Net Core EF的使用步骤
EF Core--Code First (代码优先) 第一步 安装 NuGet包 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore ...
- 洛谷 P2375 动物园
题目详情 题目描述 近日,园长发现动物园中好吃懒做的动物越来越多了.例如企鹅,只会卖萌向游客要吃的.为了整治动物园的不良风气,让动物们凭自己的真才实学向游客要吃的,园长决定开设算法班,让动物们学习算法 ...
- 常见的反爬措施:UA反爬和Cookie反爬
摘要:为了屏蔽这些垃圾流量,或者为了降低自己服务器压力,避免被爬虫程序影响到正常人类的使用,开发者会研究各种各样的手段,去反爬虫. 本文分享自华为云社区<Python爬虫反爬,你应该从这篇博客开 ...
- 什么是 FutureTask?使用 ExecutorService 启动任务?
在 Java 并发程序中 FutureTask 表示一个可以取消的异步运算.它有启动和取消 运算.查询运算是否完成和取回运算结果等方法.只有当运算完成的时候结果才 能取回,如果运算尚未完成 get 方 ...
- Spring支持的事务管理类型?
Spring支持两种类型的事务管理: 编程式事务管理 :这意味你通过编程的方式管理事务,给你带来极大的灵活性,但是难维护. 声明式事务管理: 这意味着你可以将业务代码和事务管理分离,你只需用注解和XM ...
- JDBC几个接口分区叫什么?它们分别有什么用?
DirverManager类:是JDBC的管理层,作用于用户和驱动之间.该类负责注册和加载JDBC驱动.Connection接口:代表与数据库的链接,并拥有创建SQL语句的方法,以完成基本的SQL操作 ...