解决centos7安装nginx完成后503的问题,默认nginx目录在哪,以及nginx主配置文件解析

简介

在我们安装好nginx时候,会出现很多配置后无法访问测试页面,报错503的问题,让很多新手不用到处翻贴找解决

方法,我决定写一篇来指引新手。告诉新手配置nginx后无法正常启动的问题在哪,以及nginx的默认目录都在什么路径

,列出个目录结构出来。没接触过得新手照着网上的教程安装完之后,确实有些摸不着头脑。我这里就手把手举例演示

 

教程

安装nginx

先配置配置 EPEL 源

yum install -y epel-release

yum -y update

先关闭防火墙,不然后面安装好nginx也打不开默认欢迎页面,会nginx error503

#临时关闭命令
systemctl stop firewalld

#永久关闭命令
systemctl disable firewalld

#开启命令
systemctl start firewalld

安装nginx

yum install -y nginx

检查nginx

看看nginx是否启动

ps aux|grep nginx

检测80端口是否正常分配给nginx

netstat -ntlp

测试页面

打开页面看下如下就是成功安装上了

 

查询nginx目录

使用whereis命令查询默认目录

#使用whereis命令查询默认目录
whereis nginx

#能得到如下反馈结果
nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx.8.gz

nginx安装后的默认路径

#以下是Nginx的默认路径:
Nginx配置路径:
/etc/nginx/

PID目录:
/var/run/nginx.pid

错误日志:
/var/log/nginx/error.log

访问日志:
/var/log/nginx/access.log

默认站点目录:
/usr/share/nginx/html

#其实以上这些路径都可以在下面两个文件中查询到
/etc/nginx/nginx.conf
/etc/nginx/conf.d/default.conf

 

nginx主配置文件解析

CoreModule核心模块

user www;                       #Nginx进程所使用的用户
worker_processes 1;             #Nginx运行的work进程数量(建议与CPU数量一致或auto)
error_log /log/nginx/error.log  #Nginx错误日志存放路径
pid /var/run/nginx.pid          #Nginx服务运行后产生的pid进程号

events事件模块

events {            

    worker_connections  //每个worker进程支持的最大连接数

    use epool;          //事件驱动模型, epoll默认

}

http内核模块

//公共的配置定义在http{}
http {  //http层开始
...    
    //使用Server配置网站, 每个Server{}代表一个网站(简称虚拟主机)
    'server' {
        listen       80;        //监听端口, 默认80
        server_name  localhost; //提供服务的域名或主机名
        access_log host.access.log  //访问日志
        //控制网站访问路径
        'location' / {
            root   /usr/share/nginx/html;   //存放网站代码路径
            index  index.html index.htm;    //服务器返回的默认页面文件
        }
        //指定错误代码, 统一定义错误页面, 错误代码重定向到新的Locaiton
        error_page   500 502 503 504  /50x.html;
    }
    ...
    //第二个虚拟主机配置
    'server' {
    ...
    }
    
    include /etc/nginx/conf.d/*.conf;  //包含/etc/nginx/conf.d/目录下所有以.conf结尾的文件

}   //http层结束

nginx核心配置

#定义nginx工作进程数
worker_processes  5;#错误日志
#error_log  logs/error.log;
#http定义代码主区域http {
    include       mime.types;
    default_type  application/octet-stream;
    #定义nginx的访问日志功能
    #nginx会有一个accses.log功能,查看用户访问的记录
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    #开启日志功能
    access_log  logs/access.log  main;
    sendfile        on;
    keepalive_timeout  65;
    #开启gzip压缩传输    gzip  on;
    #虚拟主机1  定义一个 ivpsr网站     server {
        #定义nginx的访问入口端口,访问地址是  192.168.11.37:80
        listen       80;
        #定义网站的域名www.ivpsr.com
        #如果没有域名,就填写服务器的ip地址  192.168.11.37        server_name  www.ivpsr.com;
        #nginx的url域名匹配
        #只要请求来自于www.ivpsr.com/111111111
        #只要请求来自于www.ivpsr.com/qweqwewqe
        #最低级的匹配,只要来自于www.ivpsr.com这个域名,都会走到这个location
        location / {
            #这个root参数,也是关键字,定义网页的根目录
            #以nginx安装的目录为相对路径  /opt/nginx112/html 
            #可以自由修改这个root定义的网页根目录            root   html;
            #index参数定义网站的首页文件名,默认的文件名            index  index.html index.htm;
        }
        #错误页面的优化(只要是遇到前面4系列的错误,就会直接跳转到相对目录下的40x.html页面)
        error_page  400 401  402  403  404   /40x.html;
    }
}

常用Nginx命令

这几个都是常用到的nginx命令

#启动 Nginx
systemctl start nginx

#停止 Nginx
systemctl stop nginx

#重启 Nginx
systemctl restart nginx

#查看 Nginx 状态
systemctl status nginx

#启用开机启动 Nginx
systemctl enable nginx

#禁用开机启动 Nginx
systemctl disable nginx
THE END