有时候Nginx相关配置都弄好了,用浏览器访问的时候,结果访问不了。
今天最开始安装好Nginx,测试访问的时候访问不了,页面如图:
百度有很多解决方式,都不行,最后发现是对应的端口没有开放,开放之后就访问正常了,如图:
在Nginx配置的时候,注意listen的端口时候有开放:iptables -I INPUT -p TCP --dport 80 -j ACCEPT
(手动开放,服务器重启后得再次手动开放)
在 nginx/conf/conf.d 路径下新增或修改了一个 .conf 文件后,重启Nginx时总是启动不了,报错 Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
找了一大圈,按照很多办法试图解决,都失败了,最后不信邪的查看了下新增或修改的 .conf 文件,认真检查发现是自己犯了低级错误,单词错了或者少了;号
在新增或修改 .conf 文件是一定要注意,当重启Nginx失败后不要急,检查下添加或修改的地方是否有语法错误
都正常了,想配置指定目录文件进行访问,结果报403,天呀!又不行,找了一圈都不行,大多数都有只有下面的步骤一和步骤二,结果都不行,直到找到下面的方法,完成步骤三后,奇迹发生了,既然可以访问了。其实我的问题就是步骤三没有弄好,目录是有权限的,步骤二你的user也是有权限的。
排除Nginx方法:
步骤一:
检查目录权限。权限不足的就加个权限吧。
例子:chmod -R 755 / var/www
步骤二:
打开nginx.conf
例子:vim /etc/nginx/nginx.conf
把 user 用户名 改为 user root 或 其它有高权限的用户名称即可
步骤三
如果是centos,看一下selinux是否关闭了
查看SELinux状态:
1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
2、getenforce ##也可以用这个命令检查
关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0 设置SELinux 成为permissive模式
setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可