解决nginx退出后却依然能访问页面的问题

2023-05-16

说明:操作全部基于windows10系统

目录

正常操作:

问题:退出nginx却依然能访问页面

总结:切记使用start nginx启动服务,而不要使用nginx启动服务!!!


正常操作:

(即不会出现nginx退出后依然能访问页面的问题)

1. 在命令行中找到安装nginx文件夹,输入命令start nginx

2. 在浏览器地址栏输入localhost,可以看到欢迎页面表示nginx正常运行

并且可以在nginx文件夹下的logs文件夹里看到nginx.pid文件,也能表示目前nginx在运行

 3. 如果我们对nginx.conf进行修改,为了看到修改后的页面,需要有两步操作:

①删除浏览器的本地缓存。以microsoft edge为例:

点击浏览器右上角的三个点,在下拉列表中选择“设置”

在设置页面的左侧栏选择“隐私、搜索和服务” → “选择清楚的内容” → 按照默认勾选项清除数据即可

原因:(为什么我们要删除本地缓存?)

因为当我们修改nginx.conf后打开本地网址(localhost)发现依旧是以前的界面,即便我们使用了nginx -s reload命令,也没有看到任何修改。

此时我们可以打开logs文件夹下的access.log文件,可以看到日志中返回的代码是304 → 认为请求的页面未发生变化,用户请求该网址时,浏览器调用本地缓存显示该页面。

这就解释了为什么我们修改并更新了配置,却依旧显示旧界面的原因。

②更新配置

输入命令:  nginx -s reload

问题:退出nginx却依然能访问页面

之前用start nginx命令启动服务的时候,总给我一种闪退的感觉,后来我使用nginx作为启动命令,就发生了很多问题……

在命令行找到nginx的文件夹,输入命令nginx,启动服务,此时显示的界面是停留在nginx这个命令的位置,不能输入新命令。

于是我重开了一个命令行,在修改nginx.conf之后使用reload命令更新配置,结果发现无法更新,最终决定退出nginx再重启服务试试:

nginx -s quit    // 退出nginx

我记得此时logs文件夹里的nginx.pid文件应该是没有了,而且这个时候再使用nginx -s reload等命令会报错——找不到nginx.pid文件,于是我以为服务已经停止了。我又一次使用nginx命令开启服务,但是发现nginx.conf没有更新。这个时候我又关闭了nginx服务,然后在浏览器输入localhost会惊奇地发现竟然还能访问!?

我在logs的error.log发现了一些奇怪的信息:

推测可能是有多个nginx进程依旧在执行,于是在命令行输入:

tasklist /fi "IMAGENAME eq nginx.exe"

找到nginx.exe进程,查看到它的pid号后强制删除(因为这个进程普通方法删除不了):

taskkill /f /pid 21992

 注意,一般会有多个nginx.exe进程在执行,所以要删除多个。当你以为你删除了所有的nginx.exe进程却发现依然能访问页面的时候,再按照上面所示在tasklist中查找一下nginx.exe进程,有时你会惊喜地发现怎么还有?!——直到nginx.exe删除干净后就会发现无法访问页面了,一切也就正常了。

总结:切记使用start nginx启动服务,而不要使用nginx启动服务!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决nginx退出后却依然能访问页面的问题 的相关文章

  • Node + Express + Nginx 未设置 Cookie

    我有一个使用 Express 的 Node 应用程序 我尝试为我的客户端设置 cookie 它在本地环境 http 上运行良好 但是一旦我投入生产 https 我就很好地收到了cookie 我可以在响应中看到它 但它没有设置 任何想法 Ng
  • 如何将多个域路由到多个节点应用程序?

    我习惯了典型的 Lamp Web 托管环境 您只需单击 cpanel 中的几个按钮 您的域就会被分区并映射到 htdocs 中的文件夹 我经常使用 Node js 但做同样的事情似乎并不那么简单 如果我有多个节点应用程序 并且我想将doma
  • Nginx 中 uwsgi_pass 和 proxy_pass 的区别?

    我在 Nginx 后面运行 uWSGI 并一直在使用proxy pass让 Nginx 访问 uWSGI 切换到有什么好处吗uwsgi pass 如果是这样 那是什么 uwsgi pass使用一个uwsgi协议 proxy pass使用普通
  • nginx docker 容器:502 错误网关响应

    我有一个服务监听 8080 端口 这不是一个容器 然后 我使用官方镜像创建了一个 nginx 容器 docker run name nginx d v root nginx conf etc nginx conf d p 443 443 p
  • Django + uwsgi + ngnix + 调试关闭 = 服务器错误(500)

    我正在尝试设置一个由 Django uwsgi Nginx 组成的生产服务器 我正在关注的教程位于此处http www panta info blog 3 how to install and configure nginx uwsgi a
  • Http POST 删除 URL 中的端口

    我有一个用 Django 构建的网络应用程序 我目前正在家里的路由器后面的笔记本电脑上运行它 我将路由器配置为将发送到特定端口的所有流量路由到该笔记本电脑 我将 Nginx 作为 Apache 的反向代理 使用 mod wsgi 来运行 D
  • 使用nginx容器作为反向代理时的原始url

    我有一个 Web 应用程序部署为码头集装箱 我也有一个nginx容器 使用dnsmasq解析器 设置为充当 Web 应用程序前面的反向代理 它的 80 端口映射到主机 我的应用程序使用 SSO 身份验证 当我使用身份提供商登录时 回调 ur
  • Beanstalk 部署忽略 .ebextensions 中的 nginx 配置文件

    我在单实例 Elastic Beanstalk 环境中托管 Java Web 应用程序 并添加了几个 ebextension 文件 这些文件在每次部署时成功为我创建配置文件 然而 我无法找到一种方法让 Beanstalk 在 etc ngi
  • 如何使用gunicorn和bokeh服务配置Nginx

    我想提供一个 Flask 应用程序 该应用程序使用本地网络服务器上的嵌入式散景服务 为了说明这一点 我使用了一个例子散景服务示例 https github com bokeh bokeh blob 0 12 11 examples howt
  • 错误请求 400:nginx/gunicorn

    我已经遵循了这个教程 http blog wercker com 2013 11 25 django 16 part3 html http blog wercker com 2013 11 25 django 16 part3 html我现
  • Logrotate - nginx 日志不在 docker 容器内旋转

    我有一个运行 nginx 的 docker 容器 它正在将日志写入 var log nginxLogrotate 安装在 docker 容器中 并且 nginx 的 logrotate 配置文件已正确设置 尽管如此 logrotate 仍不
  • PHP cURL 在本地工作,在 AWS 服务器上出现错误 77

    最新更新 脚本作为管理员用户通过 SSH shell 作为 php script php 成功运行 当由 nginx 用户运行时 curl 命令无法执行 https 请求 所以我猜测这是nginx用户无法正确使用curl的问题 我已经检查了
  • 阻止 ingress-nginx 负载均衡器上的特定路径

    我有许多指向入口控制器 IP 的域 我想阻止所有域 站点的 特定路径 有没有办法做到这一点 我可以用nginx ingress kubernetes io configuration snippet 对于每个站点 但正在寻找同时处理所有站点
  • Nginx docker容器代理传递到另一个端口

    我想在 docker 容器中运行 Nginx 它监听端口 80 并且当 url 以 word 开头时 我希望它 proxy pass 到端口 8080api 我有一些网络应用程序侦听端口 8080 这在没有 docker 的情况下对我来说一
  • 如何避免 nginx“上游发送太大的标头”错误?

    我正在运行 nginx Phusion Passenger 和 Rails 我遇到了以下错误 upstream sent too big header while reading response header from upstream
  • nginx上传client_max_body_size问题

    我正在运行 nginx ruby on rails 并且有一个简单的多部分表单来上传文件 一切正常 直到我决定限制要上传的文件的最大大小 为此 我设置了 nginxclient max body size to 1m 1MB 并且当该规则被
  • 通过 PHP 脚本重新启动 Nginx

    我目前正在努力使我的 WordPress 插件与 nginx 兼容 该插件需要访问 conf文件在wp content uploads目录 以便它可以添加所需的规则 目前 它更新了 htaccess文件位于同一目录中 更改立即生效 无需干预
  • Nginx 和 Flask-socketio Websockets:存在但没有消息传递?

    我在让 Nginx 与 Python Flask socketio 库 基于 gevent 很好地配合时遇到了一些麻烦 目前 由于我们正在积极开发 我正在尝试让 Nginx 充当代理 对于发送页面 我可以通过直接运行flask socket
  • 禁用 Kubernetes NGINX 入口的 SSL 重定向

    默认情况下 在 Kubernetes NGINX 入口中启用 SSL 重定向 如何禁用此功能 目前的实施如下 apiVersion extensions v1beta1 kind Ingress metadata name project
  • nginx 解析器——dns

    请原谅一个非常初学者的问题 我无法理解 nginx 的 解析器 参数及其工作原理 我已阅读文档 搜索教程和帖子 使用解析器 nginx 和 dns 等关键字 但我仍然不确定如何应用解析器 http nginx org en docs htt

随机推荐