解决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
版权声明:
作者:ivpsr.com
链接:https://ivpsr.com/3515.html
文章版权归作者所有,未经允许请勿转载。
THE END