Nginx服务启动失败,错误1067解决总结

Nginx服务启动失败,错误1067解决总结

在使用Nginx版更改过配置文件时,启动服务时经常会提示Nginx无法启动1067错误等。

首先遇到这种情况不要急,可以肯定的是这种错误的出现都是跟nginx.conf/vhosts.conf/up-rewrite.conf/my.ini/php.ini等配置文件有关的,其中出现最多的便是conf文件。

Nginx对错误的配置文件非常之敏感哪怕是一丁点错误它就无法启动了,然后最重要的是一定要查看Nginx的log日志,具体错在哪了都会显示,对症下药就来的快多了。

下面来讲解下1067错误产生的原因和具体解决办法:

1、最郁闷的操作习惯-用记事本修改配置文件引起的1067错误

由于这种原因修改.conf为后缀的配置文件产生的1067错误是非常郁闷的,记事本这玩意有时就是容易出现编码等错误,编辑保存了配置文件,不管你怎么尝试都无法启动,用其它软件再次编辑保存也无效,直到你拿原始文件覆盖为止。

推荐用Notepad3或Markdown编辑配置文件

2、用旧版本的配置参数作为新版本的参数修改配置文件引起的1067错误

主要体现在修改MySQL数据库文件my.ini后出现的1067错误,可以查看MySQL\data目录下的xxxxx.err文件一般系统会提示错误内容并给出正确建议,请大家多参照与版本对应的配置说明去修改文件。

如果是修改Nginx的nginx.conf/vhosts.conf/up-rewrite.conf引起的1067错误请查看Nginx\logs目录下的error.log文件根据提示修正错误即可正常启动。

3、Nginx伪静态规则不正确引起的1067错误

如果Nginx伪静态规则是自己写的或者是由apache版转换过来的出现1067的错误率会特别高,因为你还在修改伪静态根本无法保证其准确性,这种情况可以先去除伪静态看服务能否启动,直到把伪静态规则改对为止。

4、剩余内存不够支持所有组件启动造成的1067错误

此种错误一般在小内存的机器上容易出现,比如512MB内存启动时如果系统占用了300多兆内存剩下的100多兆内存不足以支撑服务启动,此时建议关闭占内存的程序,释放完内存后再次开启。

5、服务路径不对引起的1067错误

这种情况一般是在没按S5结束全部服务,就开始两种版本如N2/N3交替使用造成的,也可能是在没按S5结束全部服务就对当前版本进行升级造成的,还有就是没按S5就把upupw文件夹挪到其它目录启动造成的。

因为服务是用于识别目录程序路径用以启动当前程序的,如果不先结束服务,那么很容易造成下个版本的程序还使用当前程序的服务识别到的是当前程序的路径。

处理这种因素造成的1067错误很简单只要回到原目录按s5结束全部服务直到服务面板内没有upupw_开头的服务名即可启动了,或者用UPUPW系统服务清理工具清理服务后再启动即可!

6、端口冲突引起的1067错误

这种情况一般使用netstat -ano,列出所有端口的情况,在列表中观察被占用的端口,并查看是否与自己预期修改为的端口号冲突,若存在冲突则需继续变更端口号,若该端口暂未被使用,则可将其修改为Nginx默认服务端口,然后重新启动即可。