如何排查nginx服务启动情况,杀死端口,以及防火墙开放指定端口【linux与nginx排查手册】
利用NGINX搭建了视频服务,突然发现启动不了了,于是命令开始
- 使用以下命令查看更详细的错误信息:
-
systemctl status nginx.service
-
Warning: The unit file, source configuration file or drop-ins of nginx.service changed on disk. Run 'systemctl daemon-reload' to reload units. Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details. [root@raw /]# sudo systemctl daemon-reload [root@raw /]# systemctl status nginx.service ● nginx.service Loaded: loaded (/etc/systemd/system/nginx.service; bad; vendor preset: disabled) Active: failed (Result: exit-code) since Thu 2024-04-18 11:23:02 CST; 14s ago4月 18 11:23:02 raw.githubusercontent.com systemd[1]: Starting nginx.service... 4月 18 11:23:02 raw.githubusercontent.com systemd[1]: nginx.service: Control process exited, code=exited status=203 4月 18 11:23:02 raw.githubusercontent.com systemd[1]: nginx.service: Failed with result 'exit-code'. 4月 18 11:23:02 raw.githubusercontent.com systemd[1]: Failed to start nginx.service. 4月 18 11:23:12 raw.githubusercontent.com systemd[1]: /etc/systemd/system/nginx.service:1: Assignment outside of section. Ignoring. 4月 18 11:23:12 raw.githubusercontent.com systemd[1]: /etc/systemd/system/nginx.service:2: Assignment outside of section. Ignoring. 4月 18 11:23:12 raw.githubusercontent.com systemd[1]: /etc/systemd/system/nginx.service:3: Assignment outside of section. Ignoring. 4月 18 11:23:16 raw.githubusercontent.com systemd[1]: /etc/systemd/system/nginx.service:1: Missing '='. [root@raw /]# sudo systemctl start nginx Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details. [root@raw /]# systemctl status nginx.service ● nginx.service Loaded: loaded (/etc/systemd/system/nginx.service; bad; vendor preset: disabled) Active: failed (Result: exit-code) since Thu 2024-04-18 11:23:22 CST; 7s ago Process: 41057 ExecStart=/usr/local/nginx/sbin/nginx (code=exited, status=1/FAILURE)4月 18 11:23:21 raw.githubusercontent.com nginx[41057]: nginx: [emerg] bind() to 0.0.0.0:8090 failed (98: Address already in use) 4月 18 11:23:21 raw.githubusercontent.com nginx[41057]: nginx: [emerg] bind() to 0.0.0.0:82 failed (98: Address already in use) 4月 18 11:23:21 raw.githubusercontent.com nginx[41057]: nginx: [emerg] bind() to 0.0.0.0:8090 failed (98: Address already in use) 4月 18 11:23:21 raw.githubusercontent.com nginx[41057]: nginx: [emerg] bind() to 0.0.0.0:82 failed (98: Address already in use) 4月 18 11:23:22 raw.githubusercontent.com nginx[41057]: nginx: [emerg] bind() to 0.0.0.0:8090 failed (98: Address already in use) 4月 18 11:23:22 raw.githubusercontent.com nginx[41057]: nginx: [emerg] bind() to 0.0.0.0:82 failed (98: Address already in use) 4月 18 11:23:22 raw.githubusercontent.com nginx[41057]: nginx: [emerg] still could not bind() 4月 18 11:23:22 raw.githubusercontent.com systemd[1]: nginx.service: Control process exited, code=exited status=1 4月 18 11:23:22 raw.githubusercontent.com systemd[1]: nginx.service: Failed with result 'exit-code'. 4月 18 11:23:22 raw.githubusercontent.com systemd[1]: Failed to start nginx.service.
然后发现是端口被占用,先杀死端口吧
问题出现在尝试启动 Nginx 时遇到端口冲突导致无法绑定到指定的端口(0.0.0.0:8090 和 0.0.0.0:82)上。可以按照以下步骤解决这个问题:
-
查找占用端口的进程:
- 使用以下命令查找占用端口 8090 和 82 的进程:
sudo netstat -tuln | grep ':8090\|:82'
- 使用以下命令查找占用端口 8090 和 82 的进程:
-
停止占用端口的进程:
- 根据上一步的输出,找到占用端口的进程,并停止它们,可以使用以下命令杀死占用端口 8090 的进程(假设 PID 为 XXX):
sudo kill XXX
- 根据上一步的输出,找到占用端口的进程,并停止它们,可以使用以下命令杀死占用端口 8090 的进程(假设 PID 为 XXX):
-
修改 Nginx 配置文件:
- 如果需要修改 Nginx 配置文件中监听的端口,可以编辑 Nginx 配置文件(通常在
/usr/local/nginx/conf/nginx.conf
)并将监听端口修改为未被占用的端口,例如 8080。
- 如果需要修改 Nginx 配置文件中监听的端口,可以编辑 Nginx 配置文件(通常在
-
重新加载 Nginx 配置并启动服务:
- 保存修改后的配置文件,然后重新加载 Nginx 配置并尝试启动 Nginx 服务:
sudo /usr/local/nginx/sbin/nginx -s reload
- 保存修改后的配置文件,然后重新加载 Nginx 配置并尝试启动 Nginx 服务:
-
再次检查 Nginx 服务状态:
- 使用以下命令再次检查 Nginx 服务的状态:
systemctl status nginx
- 使用以下命令再次检查 Nginx 服务的状态:
通过找到并停止占用端口的进程,修改 Nginx 配置文件中的监听端口,然后重新加载配置并启动 Nginx 服务,应该可以解决端口冲突导致的启动问题。
然后命令重启nginx
[root@raw conf]# sudo systemctl start nginx
[root@raw conf]# systemctl status nginx
● nginx.service
Loaded: loaded (/etc/systemd/system/nginx.service; bad; vendor preset: disabled)
Active: active (running) since Thu 2024-04-18 11:31:03 CST; 5s ago
Process: 41932 ExecStart=/usr/local/nginx/sbin/nginx (code=exited, status=0/SUCCESS)
Main PID: 41933 (nginx)
Tasks: 2 (limit: 203695)
Memory: 1.3M
CGroup: /system.slice/nginx.service
├─41933 nginx: master process /usr/local/nginx/sbin/nginx
└─41934 nginx: worker process4月 18 11:31:03 raw.githubusercontent.com systemd[1]: Starting nginx.service...
4月 18 11:31:03 raw.githubusercontent.com systemd[1]: Started nginx.service.
外界还看不到视频的话,那就是防火墙拦截了,再开启端口:
要开放特定端口(例如82端口),您可以按照以下步骤在防火墙中添加规则以允许流量通过该端口:
-
使用 firewall-cmd 命令添加端口规则:
- 执行以下命令以永久性地开放82端口:
txt
sudo firewall-cmd --zone=public --add-port=82/tcp --permanent
- 执行以下命令以永久性地开放82端口:
-
重新加载防火墙规则:
- 执行以下命令以重新加载防火墙规则,使新的端口规则生效:
sudo firewall-cmd --reload
- 执行以下命令以重新加载防火墙规则,使新的端口规则生效:
-
验证端口是否已开放:
- 您可以运行以下命令来查看防火墙规则,确认82端口已成功开放:
sudo firewall-cmd --list-all
- 您可以运行以下命令来查看防火墙规则,确认82端口已成功开放:
通过执行以上步骤,可以在防火墙中添加规则以允许流量通过82端口。
[root@raw conf]# sudo firewall-cmd --zone=public --add-port=82/tcp --permanent
success
[root@raw conf]# sudo firewall-cmd --reload
success
[root@raw conf]# sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens192
sources:
services: cockpit dhcpv6-client ssh
ports: 82/tcp
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[root@raw conf]#
然后成功
相关文章:
如何排查nginx服务启动情况,杀死端口,以及防火墙开放指定端口【linux与nginx排查手册】
利用NGINX搭建了视频服务,突然发现启动不了了,于是命令开始 使用以下命令查看更详细的错误信息: systemctl status nginx.service Warning: The unit file, source configuration file or drop-ins of nginx.service changed on disk. Run…...

用Rust实现免费调用ChatGPT的命令行工具 (一)
代码已经开源:🚀 fgpt 欢迎大家star⭐和fork 👏 ChatGPT现在免费提供了GPT3.5的Web访问,不需要注册就可以直接使用,但是,它的使用方式是通过Web页面,不够方便。 更多技术分享关注 入职啦&…...
mysql 查询实战1-题目
学习了mysql 查询实战-变量方式-解答-CSDN博客,接着练习sql,从实战中多练习。 1,题目: 1,查询部门工资最高的员工 1,建表: DROP TABLE IF EXISTS department; create table department(dept_i…...

Word学习笔记之奇偶页的页眉与页码设置
1. 常用格式 在毕业论文中,往往有一下要求: 奇数页右下角显示、偶数页左下角显示奇数页眉为每章标题、偶数页眉为论文标题 2. 问题解决 2.1 前期准备 首先,不论时要求 1、还是要求 2,这里我们都要做一下设置: 鼠…...

数据赋能(58)——要求:数据赋能实施部门能力
“要求:数据赋能实施部门能力”是作为标准的参考内容编写的。 在实施数据赋能中,数据赋能实施部门的能力体现在多个方面,关键能力如下图所示。 在实施数据赋能的过程中,数据赋能实施部门应具备的关键能力如下。 理性思维与逻辑分…...

Unity URP PBR_Cook-Torrance模型
Cook-Torrance模型是一个微表面光照模型,认为物体的表面可以看作是由许多个理想的镜面反射体微小平面组成的。 单点反射镜面反射漫反射占比*漫反射 漫反射 基础色/Π 镜面反射DFG/4(NV)(NL) D代表微平面分布函数,描述的是法线与半角向量normalize(L…...

Unity之XR Interaction Toolkit如何在VR中实现渐变黑屏效果
前言 做VR的时候,有时会有跳转场景,切换位置,切换环境,切换进度等等需求,此时相机的画面如果不切换个黑屏,总会感觉很突兀。刚好Unity的XR Interaction Toolkit插件在2.5.x版本,出了一个TunnelingVignette的效果,我们今天就来分析一下他是如何使用的,然后我们自己再来…...

html+vue编写分页功能
效果: html关键代码: <div class"ui-jqgrid-resize-mark" id"rs_mlist_table_C87E35BE"> </div><div class"list_component_pager ui-jqgrid-pager undefined" dir"ltr"><div id"pg…...

计算机网络 实验指导 实验17
实验17 配置无线网络实验 1.实验拓扑图 Table PC0 和 Table PC1 最开始可能还会连Access Point0,无影响后面会改 名称接口IP地址网关地址Router0fa0/0210.10.10.1fa0/1220.10.10.2Tablet PC0210.10.10.11Tablet PC1210.10.10.12Wireless互联网220.10.10.2LAN192.16…...
在 Vue中,v-for 指令的使用
在 Vue中,v-for 指令用于渲染一个列表,基于源数据多次渲染元素或模板块。它对于展示数组或对象中的数据特别有用。 数组渲染 假设你有一个数组,并且你想为每个数组元素渲染一个 <li> 标签: <template> <ul>…...
达梦数据库执行sql报错:数据溢出
数据库执行sql报错数据溢出 单独查询对应的数字进行计算是不是超过了某个字段类型的上限或下限 如果已经超过了,进行对字段进行cast类型转换处理,转换为dec num都可以尝试 这里就是从 max(T.BLOCK_ID as dec*8192t.bytes)/1024/1024 max_MB,换成了这个…...

从「宏大叙事」到「生活叙事」,小红书品牌种草的的“正确姿势”
不同于抖音和微博,在小红书上,品牌营销的基调应该是怎样的?品牌怎样与小红书用户对话?什么样的内容,才能走进小红书用户的心中?本期,小编将带大家洞察品牌在小红书营销的“正确姿势”。从「小美…...
Python Selenium 的基本使用方法
文章目录 1. 概述2. 安装Chrome及ChromeDriver2.1 安装Chrome2.2 安装ChromeDriver 3. 安装Selenium4. 常见用法4.1 启动4.2 查找元素4.3 等待页面加载元素 1. 概述 Selenium 是一个用于自动化 web 浏览器的工具,它提供了一套用于测试 web 应用程序的工具和库。Sel…...

上位机图像处理和嵌入式模块部署(树莓派4b固件功能设计)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们说过,上位机的功能都是基于插件进行开发的。但是上位机的成本比较贵,一般的企业不一定愿意接接受。这个时候另外一…...
新手入门人工智能:从零开始学习AI的正确途径
你是否对人工智能(AI)充满了好奇心和探索欲?你是否想了解如何从零开始学习AI,成为一名人工智能领域的专家?那么,这篇文章就是为你准备的!我们将带你了解人工智能的基本概念,学习如何…...
ubuntu git相关操作
1 安装git sudo apt install git git --version git version 2.25.1 2 解决git超时 2.1 扩大post的buffer git config --global http.postBuffer 524288000 git config --global http.postBuffer 157286400 2.2 换回HTTP1上传。上传之后再切换回HTTP2 …...

IDEA工具|添加 GitLab 账户之两三事
📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端工程师 🏆 近期荣誉:华为云云享专家、阿里云专家博主、腾讯云优秀创作者、ACDU成员 🔥 三连支持:欢迎 ❤️关注…...
蓝桥杯:棋盘(Java)
目录 问题描述输入格式输出格式代码实现 问题描述 小蓝拥有n n大小的棋盘,一开始棋盘上全都是白子。小蓝进行了m.次操作,每次操作会将棋盘上某个范围内的所有棋子的颜色取反(也就是白色棋子变为黑色,黑色棋子变为白色)。请输出所…...

跨界融合:ERP与TMS的区分、相通之处、融合方式,全告诉你。
Hi,如今系统的边界越来越模糊,A系统和B系统会有一些功能的交叉,贝格前端工场今天开始介绍第二篇ERP和TMS的融合。 一、什么是ERP和TMS ERP是企业资源规划(Enterprise Resource Planning)的缩写,是一种集成…...
SAP Smartform转存PDF方法汇总
用户会有保存SF至本地PDF文件的需求,下面详细说明一下Smartform转成PDF的四种方法,其中,方法二和三相比于其他方法更便捷实用,如果还有其他方法,欢迎留言补充。 一、代码开发 1)先调用smartform函数获取OTF格式数据 2)后调用函数CONVERT_OTF转换成PDF格式数据 3)再…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...