一、配置文件
# 全局指令开始
# 定义Ngixn运行的用户和用户组
#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文件
#pid logs/nginx.pid;
# 全局指令结束
# 局部指令开始
# 指定进程可以打开的最大描述符:数目
# 工作模式与连接数上限
events {
# 参考事件模型, use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型
# 是linux2.6以上版本内核中的高性能网络I/O模型,linux建议epoll,如果泡在FreeBSD上面,就用kqueue模型
# 补充说明
# 与apache相关,nginx针对不同的操作系统,有不同的事件模型
# A) 标准事件模型
# select、poll属于标准事件模型,如果当前系统不存在更有效方法nginx会选择select或poll
use epoll;
# 单个进程最大连接数 (最大连接数=连接数* 进程数)
# 根据硬件调节 和前面工作进程配合起来用,尽量大 但是别把cpu跑到100%即可
worker_connections 1024;
# keepalive超时时间
keepalive_timeout 60;
# gzip模块设置
gzip on; # 开启gzip压缩输出
gzip_min_length 1k; # 最小压缩文件大小
gzip_buffers 4 16k; # 压缩缓冲区
gzip_http_version 1.0; # 压缩版本(默认1.1,前端如果是squid2.5 请使用1.0)
gzip_comp_level 2; # 压缩等级
gzip_types text/plain application/x-javascript text/css application/xml; # 压缩类型
gzip_vary on;
}
# 局部指令结束
# nginx 最核心的配置开始
http {
include mime.types;
default_type application/octet-stream;
# 虚拟主机配置开始
server {
# 监听端口
listen 80;
# 域名可以有多个,用空格隔开
server_name localhost;
location / {
root html;
index index.html index.htm;
}
}
}
# nginx最核心的配置结束二、Nginx配置文件语法
1、 由指令和指令块组成
2、 每行语句都得有分号结束,指令和参数之间是空格分隔的
3、 指令块可以由大括号{}组织多条语句
4、 # 表示注释作用
5、 支持用$变量名支持该语法
6、 nginx支持include语句 组合多个配置文件
7、 nginx部分指令支持正则
nginx.conf 重要的指令块
核心功能在http{}指令块,http{}块还包含了以下指令
server{} 指令块 对应一个站点配置,反向代理,静态资源站点
location{} 对应一个url
upstream{} 定义上游服务,负载均衡池
三、Nginx命令行
1、nginx启停指令
nginx # 初次启动,直接输入nginx 如启动后再执行该命令行,就会提示端口冲突(停止nginx,再启动) nginx -s stop # 停止nginx服务 nginx -s reload # 平滑重启,利用reload可以不重启nginx进程,重新读取配置文件
2、 查看nginx的帮助信息
[root@VM-4-2-centos logs]# nginx -h nginx version: nginx/1.21.6 Usage: nginx [-?hvVtTq] [-s signal] [-p prefix] [-e filename] [-c filename] [-g directives] Options: -?,-h : this help # nginx的帮助信息 -v : show version and exit # 列出nginx的版本号 -V : show version and configure options then exit 列出nginx版本和编译信息 -t : test configuration and exit # 测试nginx配置文件语法是否正确 -T : test configuration, dump it and exit # 检查配置,输出配置信息 -q : suppress non-error messages during configuration testing # 在检测配置文件期间屏蔽非错误信息 -s signal : send signal to a master process: stop, quit, reopen, reload # 给nginx主进程发送一个主信号 分别stop停止运行 quit 优雅停止 reload 读取配置文件 -p prefix : set prefix path (default: /usr/local/nginx/) -e filename : set error log file (default: logs/error.log) -c filename : set configuration file (default: conf/nginx.conf) # 指定配置文件 -g directives : set global directives out of configuration file # 覆盖设置一些默认参数