启动nginx报错问题
为了解决生产环境的bug,模拟生产环境,我使用了nginx,在安装启动的过程中,出现了很多问题。
1、nginx下载地址
http://nginx.org/en/download.html 这是nginx的下载地址,下载稳定版
2、安装
解压压缩包后,将解压后文件放到没有中文路径的目录下(若有中文,则报错log显示No mapping for the Unicode character exists in the target multi-byte code page)
3、启动
可以双击nginx.exe启动,或者通过命令行进入对应路径,使用start nginx命令启动。启动成功后,在logs文件夹下,会多出一个nginx.pid的文件,在任务管理器中也会出现nginx.exe进程(可能会有多个)。
在这一步,启动的时候出现了报错,查询错误日志,显示bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)。查询官网后,发现引起该报错的,有三种可能。
1)防火墙开启;
2)端口被占用;
3)尝试修改端口;
我的本地防火墙没开,而且也没有修改过端口,因此直接定位为第二个原因。
通过命令行netstat -aon|findstr "80",查看端口被哪个进程占用。然后根据对应的pid进行再次查询,tasklist | findstr "pid号",查询具体的进程名称。如果查询的结果,进程并不重要,可以直接打开任务管理器关闭该进程,再重新启动nginx,就会正常。但是,我查询的结果为一个系统进程,不能通过任务管理器关闭,因此,我们需要更改注册表,是端口不再被占用,然后重启电脑。
在搜索框输入regedit,进入注册表编辑器,然后找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP路径,找到里边的start(一个reg_dword文件),将数值由3改为0,保存修改后,重启电脑,使修改生效。
重启后,再次启动nginx.exe,启动就能成功了。
4、关闭
可以通过使用命令行进入对应路径,然后使用nginx.exe -s stop来结束进程,但是这个命令可能不会保留相关信息。
推荐使用nginx.exe -s quit来结束进程,可以保留完整的相关信息。
启动nginx报错问题的更多相关文章
- nginx报错 nginx: [alert] kill(25903, 1) failed (3: No such process)
当nginx 中报错 时 nginx报错 nginx: [alert] kill(25903, 1) failed (3: No such process) 通过在nginx/sbin,目录下 运行命 ...
- [nginx报错问题]reload时报错:nginx: [error] invalid PID number "" in ...
错误 第一次探索nginx,执行以下命令时: nginx -s reload 报出错误: nginx: [error] invalid PID number "" in ... * ...
- Windows下nginx报错解决:CreateFile() "xxx/logs/nginx.pid" failed
写在前面 本文给出Windows下nginx报错:CreateFile() "xxx/logs/nginx.pid" failed 的解决方法并分析了出错原因,其中 xxx 表示n ...
- maven 项目启动tomcat报错 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
maven项目启动tomcat报错: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi ...
- 【转】Eclipse下启动tomcat报错:/bin/bootstrap.jar which is referenced by the classpath, does not exist.
转载地址:http://blog.csdn.net/jnqqls/article/details/8946964 1.错误: 在Eclipse下启动tomcat的时候,报错为:Eclipse下启动to ...
- 学习中的错误——ubuntu 14.04 LTS 启动eclipse报错
在ubuntu中启动eclipse报错:(Eclipse:15978): GLib-GIO-CRITICAL **: g_dbus_connection_get_unique_name: assert ...
- tomcat7 启动项目报错 java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()
JDK版本:jdk1.8.0_77 Tomcat 版本:apache-tomcat-7.0.47 异常重现步骤: 1.完成项目部署 2.启动Tomcat 异常头部信息:java.lang.NoSuch ...
- Eclipse中启动tomcat报错:A child container failed during start
我真的很崩溃,先是workspace崩了,费了好久重建的workspace,然后建立了一个小demo项目,tomcat中启动却报错,挑选其中比较重要的2条信息如下: A child container ...
- Ubuntu下安装了java但启动eclipse报错说没装java
参考资料:http://blog.csdn.net/happyteafriends/article/details/8290950 一.问题 在Ubuntu下安装了java并在~/.bashrc配置了 ...
随机推荐
- DirectX11--深入理解与使用2D纹理资源
前言 写教程到现在,我发现有关纹理资源的一些解说和应用都写的太过分散,导致连我自己找起来都不方便.现在决定把这部分的内容整合起来,尽可能做到一篇搞定所有2D纹理相关的内容,其中包括: DDSTextu ...
- vm—win7
- Groovy里面闭包中变量符号的查找与变量定义的限制
class a { def v1 = "v1 in a" static def v2 = "v2 in a" def v4 = "v4 in a&qu ...
- PowerPoint 中插入 Latex 公式
做 PPT 用 Latex Beamer 毕竟还是太麻烦,Beamer 毕竟还是更适合学术性的,各种定义各种公式的那种,遇到要画各种图,插入各种图片,进行错综复杂的排版就比较棘手了. 最终还是 Pow ...
- 使用Promise发送多个异步请求, 全部完成后再执行
const datas = idList .map(id => url+'/id') .map(url => fetch(url).then(res => res.json())); ...
- 学习itop4412开发板有哪些资料可学习?能否学会
1.光盘资料 下面简单的做一下了解,在需要使用这些资料的时候,会针对性的做详细介绍. 将文件以及文件夹按照“名称+递增”的方式排列,如下: 01_PCB_SCH_DATASHEET-- -----开发 ...
- python元组类型的变量以及字符串类型的变量作为参数进行传值
今天做selenium元素对象剥离时(我把元素对象都放到了元组类型的变量中,格式:user = (“id”,“X-Auto-2”)),遇到一个元组变量,以及str字符串变量一起作为参数传值的问题,发现 ...
- git rejected - non-fast-forward
di第一次提交时可能提示此错误,应该是.gitignore冲突,建议码云创建时不要初始化,如果已经出现了.可以从git repostitory里合并. 参考:https://blog.csdn.ne ...
- GrayLog + Logspout + Docker 实现分布式日志聚合
前提条件:你的服务器上已经安装了Docker和Docker Compose 一.安装GrayLog(Docker方式) version: '2' services: mongodb: image: m ...
- 洛谷P4774 [NOI2018]屠龙勇士 [扩欧,中国剩余定理]
传送门 思路 首先可以发现打每条龙的攻击值显然是可以提前算出来的,拿multiset模拟一下即可. 一般情况 可以搞出这么一些式子: \[ atk_i\times x=a_i(\text{mod}\ ...