nginx配置文件介绍
nginx.conf配置文件介绍
基本配置
user nginx; #配置worker进程运行用户
worker_processes 1; #配置工程进程数目,根据硬件配置,一般是和CPU数量一致,或者CPU数量的2倍,能达到最佳性能
error_log /var/log/nginx/error.log warn; # 配置全局错误日志文件以及配置级别 [ debug | info | notice | warn | error | crit ]
pid /var/run/nginx.pid; #配置进程pid文件
关于日志级别:
在配置nginx.conf 的时候,有一项是指定错误日志的,默认情况下你不指定也没有关系,因为nginx很少有错误日志记录的。但有时出现问题时,是有必要记录一下错误日志的,方便我们排查问题。
error_log 级别分为 debug, info, notice, warn, error, crit 默认为crit, 该级别在日志名后边定义格式如下:
error_log /your/path/error.log crit;
crit 记录的日志最少,而debug记录的日志最多。如果你的nginx遇到一些问题,比如502比较频繁出现,但是看默认的error_log并没有看到有意义的信息,那么就可以调一下错误日志的级别,当你调成error级别时,错误日志记录的内容会更加丰富。
events配置
events 是配置工作模式和连接数
events {
worker_connections 1024; # 配置每个worker进程连接数上限
}
http配置
http {
include /etc/nginx/mime.types; # 配置nginx支持哪些多媒体类型
default_type application/octet-stream; #默认文件类型
#配置日志格式
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 /var/log/nginx/access.log main; #配置访问日志 ,并使用上面的格式
sendfile on; # 开启高效文件传输模式
#tcp_nopush on; #开启防止网络阻塞模式
keepalive_timeout 65; #长连接超时时间,单位秒
#gzip on; #开启gzip压缩输出
include /etc/nginx/conf.d/*.conf;
}
配置server服务器;可以多个;
server {
listen 80; #监听端口
server_name localhost server2; # 配置服务名
#charset utf-8; #配置字符集
#access_log /var/log/nginx/host.access.log main; #配置本虚拟主机访问日志
# 匹配/请求 ,/是根路径请求,会被该location匹配到并且处理
location / {
root /usr/share/nginx/html; #root是配置服务器的默认网关根目录位置
index index.html index.htm; #配置首页文件的名称
}
#error_page 404 /404.html; #配置404页面
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html; #配置50x错误页面
location = /50x.html {
root /usr/share/nginx/html;
}
#location ~ .php$ {
# proxy_pass http://127.0.0.1;
#}
}
反向代理
location / {
#特别注意 根路径请求只能代理 http://ip:port
#不能有项目路径,否则会出错
proxy_pass http://127.0.0.1;
index index.html index.htm;
}
负载均衡
配置nginx.conf;
在http模块下配置下加
upstream www.feng.com{
server 172.17.0.2:8080 weight=5;
server 172.17.0.3:9090 weight=10;
}
upstream是配置nginx与后端服务器负载均衡非常重要的一个模块,并且它还能对后端的服务器的健康状态进行检查,若后端服务器中的一台发生故障,则前端的请求不会转发到该故障的机器;
weight是权重配置 权重越高 分配到的概率越高;
在http下的server模块
location / {
proxy_pass http://www.feng.com;
index index.html index.htm;
}
proxy_pass配置upstream对象即可;
这样就可以实现负载均衡 我们请求http://www.feng.com,不断刷新请求,会出现172.17.0.2:8080或者172.17.0.3:9090的内容;
以上是 nginx配置文件介绍 的全部内容, 来源链接: utcz.com/z/515626.html