Nginx在Windows上无法启动
在Windows系统下,无法启动nginx。
我想在Windows上使用Nginx。
安装并启动Nginx时,我以为可以成功启动,但实际上无法启动,所以记录了解决方法。
安装Nginx
-
- 从这里下载稳定版本的 nginx/Windows-x.x.x。
-
- 将 ZIP 文件(nginx-x.x.x.zip)解压到 C 盘根目录下(C:\nginx)。
- 在命令提示符中切换到 c:\nginx 目录并启动 nginx。
cd c:\nginx
start nginx
无法启动
命令提示符会显示出来,但很快就会关闭。
即使以管理员身份运行命令提示符并启动 nginx,情况仍然没有改变。
我查看了nginx的日志。
当我查看\nginx\logs\error.log时,发现了以下错误。
An attempt was made to access a socket in a way forbidden by its access permissions
如果另一个程序正在使用nginx配置的端口号,就会出现这个问题。顺便提一下,默认配置的端口号是80。
确认是谁在使用
C:\Users\xxx>netstat -ano |find /i "listening"|find /i ":80"
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
TCP [::]:80 [::]:0 LISTENING 4
C:\Users\xxx>tasklist /FI "PID eq 4"
イメージ名 PID セッション名 セッション# メモリ使用量
========================= ======== ================ =========== ============
System 4 Services 0 4,868 K
看样子是NT内核和系统正在使用。
将使用的nginx端口号进行更改。
由于发现80端口被占用,将nginx的端口号更改为8080。
-
- 打开nginx\conf\nginx.conf文件
- 进行端口号修改
server {
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
将 listen 的值从80更改为8080。
启动nginx
cd c:\nginx
start nginx
一切正常启动。