CentOS通过yum安装的nginx
配置文件在/etc/nginx/nginx.conf
配置的基本结构为
http{
server{
location {}
}
}
主页面在conf.d的文件夹下的default.conf定义的
默认为
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
错误页面也在这个文件夹下.50x.html
在default.conf中可以定义好图片及js等文件的缓存时间
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;
}
location ~ .*\.(js|css)?$ {
expires 12h;
}
限制用户连接数:
http://blog.itpub.net/27043155/viewspace-732627/
多站点配置时如果配置站点在某个tomcat的子项目下,记得加"/",否则会提示:产生很多的重定向的错误
如:
server{
listen 80;
server_name uc.jely.cn;
location / {
proxy_pass http://127.0.0.1:8080;这里可加可不加"/"
}
}
server{
listen 80;
server_name login.jely.cn;
location / {
proxy_pass http://127.0.0.1:8080/examples/;#这里必须有"/",如果没有最后的/,就会报错
}
}
nginx 502错误,而通过服务器地址:原始端口号(8080)可以访问
查看/var/log/nginx/error.log
显示为 failed (13: Permission denied)
命令行临时关闭selinux确认是否由此设置引起的
$ getenforce #查看selinux状态
$ setenforce 0
然后测试是否可以访问如果可以则证明是selinux的问题,于是先关掉selinux
解决方案
1.添加nginx到selinux的允许列表(推荐)
yum install policycoreutils-python
cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
semodule -i mynginx.pp
2.修改配置文件关闭selinux(需要重启机器):
2.1)
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
2.2).$setsebool -P httpd_can_network_connect 1
Failed to read PID from file /run/nginx.pid: Invalid argument
重启后应该就正常了.