一、背景

这个错误在重启nginx或者启动nginx的时候,经常会出现。我之前也一直认为出现这个错误是因为有程序占用了nginx的进程。但是知其然不知其所以然。每次报错都有点懵逼,所以这边一步步排查错误,做个记录。

二、排错过程

1、按照提示

//按照提示,执行此命令,查看错误原因
systemctl status nginx.service

由报错信息可知,nginx绑定80端口失败。详细错误请输入 -l 继续查看

2、继续跟踪错误

//查看错误的详情
systemctl status nginx.service -l

这里输入 -l 之后,说实话,差距并不大。原因还是绑定端口失败。

3、nginx配置文件有错误

运行下面命令查看修改

nginx -t

4、已经启动nginx或者配置文件中的端口号被占用

4.1检查端口是否被占用,如果端口已经被占用,自己权衡一下是换个端口还是把占用端口的进程杀掉

netstat -tnlp

4.2检查nginx是否已经启动

ps -aux | grep nginx

如果已经启动使用下面命令干掉即可

pkill - nginx

三、解决方案

1、查看此时占用80端口的程序

netstat -ntlp | grep 80


这里可以看到,80端口是被占用的 。我们再详细看看占用80的是什么

ps -ef | grep 80

然后找到pid,杀掉这些程序

//-s 9 代表的是快速强制的杀掉pid程序
kill -s 9 pid

2、杀到没有程序可杀为止,然后启动nginx

此时启动成功。

转载自:https://blog.csdn.net/LJFPHP/article/details/79102840

nginx启动报错:Job for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' fo的更多相关文章

  1. Nginx启动报错:10013: An attempt was made to access a socket in a way forbidden

    Nginx在win7,win2008下启动报错:bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket i ...

  2. Win7下nginx默认80端口被System占用,造成nginx启动报错的解决方案

    Win7下nginx默认80端口被System占用,造成nginx启动报错的解决方案   在win7 32位旗舰版下,启动1.0.8版本nginx,显示如下错误:  [plain] 2012/04/0 ...

  3. nginx 启动报错“var/run/nginx/nginx.pid" no such file or directory

    nginx 启动报错“var/run/nginx/nginx.pid" no such file or directory 今天刚搭建的nginx服务器启动时,报错“var/run/ngin ...

  4. zabbix启动报错:Connection to database 'xxx' failed解决方法

    Zabbix 分布式系统监视系统 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通 ...

  5. nginx默认80端口被System占用,造成nginx启动报错的解决方案

    今天启动window上的nginx总是报错 错误信息是bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socke ...

  6. nginx 启动报错 “/var/run/nginx/nginx.pid" failed” 解决方法

    问题: 重启虚拟机后,再次重启nginx会报错: open() "/var/run/nginx/nginx.pid" failed (2: No such file or dire ...

  7. Nginx 启动报错 “/var/run/nginx/nginx.pid" failed”

    问题: 重启虚拟机后,再次重启nginx会报错: open() "/var/run/nginx/nginx.pid" failed (2: No such file or dire ...

  8. tomcat 启动报错org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].xxx

    今天在写完一个非常简单的servlet页面跳转的web项目后,启动tomcat报错org.apache.catalina.LifecycleException: Failed to start com ...

  9. nginx 启动报错403

    nginx 安装完成以后启动的时候报403, 网上找的答案是在配置文件nginx.conf里面加上 user root owner;这个要加在配置文件的第一行才行,否则还是会报错,配置文件截图为: 参 ...

随机推荐

  1. 【shell脚本】通过遍历文件的一种批量执行shell命令的方法。

    在分析数据时,经常会有许多机械重复的命令带入,作为一个半路出家的程序猿,我曾经对这种工作束手无策.不像一个熟手那样举重若轻的分析,感觉自己的生信分析完全是个体力活.为了打开这样的局面,我开始学习如何批 ...

  2. Mysql初级第一天(wangyun)

    SQL Structure Query Language 结构化查询语言 数据库DataBase 产品: 1:小型数据库 Ms Acssess (Office) SQLite 移动设备 2:中型数据库 ...

  3. Django之404、500、400错误处理

    要自定义处理url请求错误需要进行三步操作:主要错误有: 404错误:page not found视图 500错误:server error视图 400错误:bad request视图 以404错误为 ...

  4. [VS] - "包含了重复的“Content”项。.NET SDK 默认情况下包括你项目中的“Content”项。

    copy to :http://www.cnblogs.com/jinzesudawei/p/7376916.html VS 2017 升级至  VS 2017 v15.3 后,.Net Core 1 ...

  5. 深入浅出MyBatis-快速入门

    http://blog.csdn.net/hupanfeng/article/details/9068003/

  6. linux 计划任务 crontab 简单用法

    添加计划任务: 方法1: crontab -e 方法2: vim /etc/crontab #这种方式进去的文件有个sample可供参考 查看已经启动的任务:crontab -l 查看运行状态:ser ...

  7. 单片机中printf函数的重映射

    单片机中printf函数的重映射 一.源自于:大侠有话说 1.如果你在学习单片机之前学过C语言,那么一定知道printf这个函数.它最最好用的功能 除了打印你想要的字符到屏幕上外,还能把数字进行格式化 ...

  8. Spring 学习——Spring JSR注解——@Resoure、@PostConstruct、@PreDestroy、@Inject、@Named

    JSR 定义:JSR是Java Specification Requests的缩写,意思是Java 规范提案.是指向JCP(Java Community Process)提出新增一个标准化技术规范的正 ...

  9. Python3 tkinter基础 LabelFrame Radiobutton 形成两组不相互限制的单选按钮

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  10. 没有使用Material组件和使用了的对比

    import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp extends S ...