nginx配置详细说明
nginx目录说明
成功安装nginx并解压,目录有以下几个
-
conf文件夹
用于存放配置文件,我们需要重点关注该文件夹下的nginx.conf文件,作用是实现nginx代理的核心配置。该配置内容后面重点讲解。
-
contrib文件夹
-
html文件夹
该位置用于存放打包好的项目,直接将dist中的内容直接拖过来即可。但不建议这样做,项目本身的位置应该单独存放,如果一个服务器只部署一个项目则可以使用该方法。这个文件下也是配置文件中root默认的指向。
-
logs文件夹
日志文件
-
temp文件夹
临时文件
-
nginx.exe 执行文件
执行nginx命令的脚本
常用nginx命令
Windows
start nginx.exe //启动nginx
nginx.exe -s reload //重新加载nginx
nginx.exe -s stop//关闭nginx
Linux
nginx //打开 nginx
nginx -t //测试配置文件是否有语法错误
nginx -s reopen //重启Nginx
nginx -s reload //重新加载Nginx配置文件,然后以优雅的方式重启Nginx
nginx -s stop //强制停止Nginx服务
nginx -s quit //优雅地停止Nginx服务(即处理完所有请求后再停止服务)
nginx.conf配置文件说明
#定义Nginx运行的用户和用户组
#user nobody;
#nginx进程数,建议设置为等于CPU总核心数。
worker_processes 1;
#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#进程文件
#pid logs/nginx.pid;
#工作模式与连接数上限
events {
#单个进程最大连接数(最大连接数=连接数*进程数)
worker_connections 1024;
}
#设定http服务器
http {
#文件扩展名与文件类型映射表
include mime.types;
#默认文件类型
default_type application/octet-stream;
#开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改 成off。
sendfile on;
#防止网络阻塞
#tcp_nopush on;
#长连接超时时间,单位是秒
#keepalive_timeout 0;
keepalive_timeout 65;
#开启gzip压缩输出
#gzip on;
#虚拟主机的配置
server {
#监听端口
listen 80;
#服务名称
server_name localhost;
#默认编码
#charset utf-8;
#定义本虚拟主机的访问日志
#access_log logs/host.access.log main;
#网站的根目录,默认是是nginx文件中的Html目录,可以改写成项目所在服务器的位置
root html;
#打开站点的首页
index index.html index.htm index.jsp index.do;
#location 就是访问路径 然后可以产生代理,路径使用正则表达进行过滤
location / {
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
#配置其他虚拟主机的地址
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
#nginx采用了开闭原则,可以包含以下的文件,也就是该目录下的所有的.conf文件也都是
#当前nginx.conf配置的一部分,也就是如果想代理新的项目,可以在该目录下配置虚拟主机地址,这样就避免了反复修改住配置产生混乱的情况,比如在该目录下增加一个abc.conf,代理一个新的端口,重启nginx。访问这个端口,可以正常代理说明生效
include E:/nginx-1.12.0/conf.d/*.conf;
}
abc.conf
server {
listen 81;
server_name monitor;
charset utf-8;
index index.html index.htm index.jsp index.do;
root html;
}
同一个站点,分别配置了两个虚拟机。打开80端口和81端口都能正常访问这个项目,配置成功