电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

nginx配置参数

来源:金蝶云社区作者:金蝶2024-09-238

nginx配置参数

1 简介

nginx是很常用的轻量级web服务或代理服务,它有支撑百万并发的强大实力。nginx也应用到了金蝶云苍穹系统中,并提供了如下功能:

(1)苍穹入口,反向代理,为苍穹携带header传租户编码,苍穹服务数据中心等信息都依赖租户编码

(2)提供应用仓库功能,实现动态微服务,即各微服务可动态加载应用包

(3)存放苍穹静态资源,实现动静分离,便于CDN加速

(4)提供补丁仓库功能,便于mc去更新苍穹补丁

(5)其他方案的实现,如内外网访问隔离、多地址访问方案等

2 基础运维

2.1 nginx服务启停

方法一、系统服务方式

nginx启动命令:systemctl start nginx

nginx停止命令:systemctl stop nginx

nginx平滑加载:systemctl reload nginx

nginx应用状态:systemctl status nginx


方法二、手动命令方式(以安装编译到/usr/local/nginx为例)

nginx检测语法:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -t

nginx启动命令:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

nginx停止命令:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -s stop

nginx平滑加载:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -s reload

2.2 nginx配置文件与日志文件

nginx配置文件(以安装编译到/usr/local/nginx为例):默认在 /usr/local/nginx/conf/nginx.conf,然后nginx.conf文件中会使用include来扩展加载其他的文件便于分类维护。

nginx日志文件路径需要查看配置文件中定义的access_log和error_log值来判断。

3 配置介绍

nginx配置大致分为如下区块:

(1)全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等

(2)events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等

(3)stream块:用来实现四层协议的转发、代理或者负载均衡等

(4)upstream块:数据转发功能,为nginx提供了跨越单机的横向处理能力,也提供负载均衡能力。

http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等

(5)server块:配置虚拟主机的相关参数,一个http中可以有多个server

(6)location块:配置请求的路由,以及各种页面的处理情况

如下图:


4 参数介绍

参数名称

参数位置

推荐值

参数说明

user

全局块

root

用于指定worker进程运行时所基于的用户和用户组,默认都为nobody。Linux系统中普通用户不能使用1024以下的端口,语法: user [username] [groupname];不指定组名,默认与用户名相同

worker_processes

全局块

auto

worker进程的个数,通常应该略少于CPU物理核心数,也可以使用auto自动获取

worker_connections

events块

61024

单个worker进程打开的最大并发连接数

server_tokens

http块

off

打开或关闭错误页面中的nginx版本号

gzip

http块

on

设置nginx采用gzip压缩的形式发送数据,减少发送数据量,但会增加请求处理时间及CPU处理时间

keepalive_timeout

http块

65

每个tcp连接的超时时长,默认为75s

large_client_header_buffers

http块、server块

4 512k

该参数主要是在用户的请求头部信息超过了client_header_buffer_size所能存储的大小时使用,该参数定义了每个header所能传输的数据的大小,以及最多能够传输多少个header。如果单个header大小超限,则会返回414(Request URI too large)状态码,如果是header个数超限,则会返回400(Bad Request)状态码。
include

http块

conf.d/*.conf

加载主配置文件以外的配置文件,方便配置文件的维护

log_formathttp块参考参数说明中的建议值

定义日志输出格式,建议值:

log_format ierp '$remote_addr - $remote_user [$time_local] "$request" "cqappid:$http_cqappid" "traceId:$http_traceId" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" "$upstream_response_time"';

access_log

location块、server块、http块实际情况调整访问日志主要用于记录客户端的请求,存储路径空间大一点
error_loglocation块、server块、http块实际情况调整

记录了访问出错的信息,存储路径间大一点

listen

server块

实际情况调整

配置监听的端口号,如果不配置,则默认为80端口。也可以设置使用ssl协议

server_name

server块

localhost

定义主机名,主机名可以有多个,名称还可以使用正则表达式(~)或通配符。

请求中的Host头部的主机名与server块中的主机名进行匹配

proxy_pass

location块

实际情况调整

定义转发到后端负载的一个或一组服务器

proxy_set_header

location块

实际情况调整

用来设定被代理服务器接收到的header信息

proxy_connect_timeout

location块

1800

nginx与后端服务器的连接超时时间。http请求无法立即被处理,被放在nginx的待处理池中等待被处理。此参数为等待的最长时间,默认60秒

proxy_send_timeout

location块

1800

nginx发送数据至后端服务器的超时时间,默认60s,如果连续的60s内没有发送

nginx配置参数

1 简介nginx是很常用的轻量级web服务或代理服务,它有支撑百万并发的强大实力。nginx也应用到了金蝶云苍穹系统中,并提供了如下功能:(1...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信