nginx检测客户端ip(检测nginx是否启动)
检测nginx是否启动
windows 10 下无法启动nginx的解决方法
问题##
windows 10 下启动nginx,闪屏而过,访问localhost显示无法访问。
分析##
cmd下使用命令:netstat -an | find "0.0.0.0:80",可以发现80端口已经被占用。
尝试##
1、改变绑定中的80端口,把原来绑定80端口的站点,换成其他端口;失败。
2、关闭World Wide Web Publishing Service;失败。
3、更改nginx目录下conf/nginx.conf下的监听端口号,把80改成其他未被占用端口号;成功!
所以可以确定是80端口的问题。
再分析##
再次使用命令:netstat -ano
可以发现占用80端口的服务pid = 4,
ctrl+shift+Esc打开任务管理器,查看详细,占先pid排序,可以查看到pid为4的进程:NT kernel & System。
解决##
经过网络查询,发现网上的提供的多种方式,单纯使用,并不能解决问题,经实践后,解决方式为2步:
第一步:使用如下命令关闭iis相关服务(管理员身份进入cmd)
net stop http
这时会有提示确认信息,提示要关闭http服务,需要停止其依赖的其他服务,输入Y
此时依赖的相关服务都会提示停止成功,到http服务时,最后会发现:http server 无法停止。
此时进入第二步。
第二步:命令行输入如下命令:sc config http start= disabled(注意start和=之间没有空格)
没有任何提示,重新出现输入提示,说明已经成功,如果有提示,请按提示进行修改。
然后重启电脑,输入netstat -ano | find "0.0.0.0:80"命令进行验证。如果没有任务输出,说明成功,如果还是有80端口相关信息输出,说明失败。可以再尝试其他方式。
说明:如果以后需要使用IIS服务,估计需要使用下列命令修复(管理员身份)
sc config http start= demand & net start http
可输入下面的命令验证
net start http
网络上还有另一种办法:
1、打开注册表:win键+R -> regedit
2、找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP
3、在右边找到Start这一项,将其改为0(我的系统原值为3)
4、重启系统,System进程不会再占用80端口
这种方式,我操作之后,没有效果。后来使用上述两步操作,成功释放80端口,但最终成功,不知道是否和这个操作有关系。
检查nginx是否正常运行
一、由于启动用户和nginx工作用户不一致所致
1.1查看nginx的启动用户,发现是nobody,而为是用root启动的
命令:ps aux | grep "nginx: worker process" | awk'{print $1}'
1.2将nginx.config的user改为和启动用户一致,
命令:vi conf/nginx.conf
二、缺少index.html或者index.php文件,就是配置文件中index index.html index.htm这行中的指定的文件。
1. server {
2. listen 80;
3. server_name localhost;
4. index index.php index.html;
5. root /data/www/;
6. }
如果在/data/www/下面没有index.php,index.html的时候,直接文件,会报403 forbidden。
三、权限问题,如果nginx没有web目录的操作权限,也会出现403错误。
解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决
1. chmod -R 777 /data
2. chmod -R 777 /data/www/
四、SELinux设置为开启状态(enabled)的原因。
4.1、查看当前selinux的状态。
1. /usr/sbin/sestatus
4.2、将SELINUX=enforcing 修改为 SELINUX=disabled 状态。
1. vi /etc/selinux/config
2.
3. #SELINUX=enforcing
4. SELINUX=disabled
4.3、重启生效。reboot。
1. reboot
重启php以及nginx
killall php-fpm && php-fpm &
nginx -s reload
怎么检查nginx配置
在Windows下,Nginx的启动日志可以在Nginx的安装目录下查看。具体步骤如下:
1. 打开Nginx的安装目录,一般在C:\nginx或者D:\nginx等位置。
2. 进入logs目录,可以看到access.log和error.log两个文件。
- access.log是Nginx的访问日志,记录了每个请求的详细信息,包括请求的时间、IP地址、请求的URL、响应状态码等。
- error.log是Nginx的错误日志,记录了Nginx在运行过程中出现的错误信息,包括语法错误、配置错误、启动错误等。
3. 双击打开access.log或error.log文件,可以使用记事本或其他文本编辑器查看日志内容。
4. 如果想要在启动Nginx时将启动日志输出到控制台,可以在命令行中使用以下命令启动Nginx:
```
nginx.exe -c nginx.conf -p C:\nginx -g "daemon off;"
```
其中,-c参数指定Nginx的配置文件路径,-p参数指定Nginx的安装目录,-g参数指定Nginx的全局配置,其中的"daemon off;"表示不以守护进程方式运行Nginx,将启动日志输出到控制台。
通过以上步骤,您可以在Windows下查看Nginx启动日志。
查看nginx 配置是否生效
肯定是没有修改成功,可以尝试重新修改
如何查看nginx是否启动成功
不会重启。会提示你要不要重新启动。
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.