#工作进程数:nginx是分为主进程和工作进程来处理请求的,此处定义的是工作进程数。
worker_processes 1;
#events模块
events {
#主进程与工作进程之间是通过事件机制控制的
#所以每个工作进程可以处理的连接数是在事件模块里配置的。
worker_connections 1024;
}
#配置错误日志路径
error_log logs/errors.log;
#配置pid文件的存储路径,一般放置在logs文件夹中
pid logs/nginx.pid
#http模块
http {
#mime type 和 Content-Type 的对应关系
include mime.types
#设置默认的Content-Type
default_type octet_stream;
#http访问日志存放路径
access_log logs/access.log;
#设置keepalive长连接超时时间:指一个请求处理完成后可空转的时间
#不是从请求开始计时的,是从请求完成计时的。
keepalive_timeout 75;
#指定是否使用系统内核的sendfile调用机制传送文件,据说效率高。
sendfile on;
#开启gzip传输
gzip on;
include server.d/*.conf;
#配置反向代理的上游服务器
upstream test {
#设置多个上游服务器
server x.x.x.x weight=5; #默认情况下通过轮询权重来控制请求转发
server x.x.x.x weight=10;
#也可以设置ip hash机制,针对单一请求ip转发到固定的server
#ip_hash;
#fair机制:按照后台的请求响应时间分配,响应时间短的优先分配。需要额外安装模块
#fair;
#url_has机制:特定的url转发到特定的server,有利于上游服务器缓存,这个也需要额外安装模块
#url_hash;
}
#配置一个http server
server {
#服务监听的端口
listen 80;
#服务名:实际类似一个虚拟服务器的概念,nginx会根据http请求中的host来匹配这个虚拟服务器的名称,这也是多域名匹配的原理。
server_name localhost;
include global.conf;
include www.d/*.conf;
include compitable.conf;
#设置上游服务器的路径匹配
location /test {
#proxy_pass的格式是 protocal+domain+[端口]+[可选路径]
#domain要特别说明,domain如果对应多个ip,可以用server_group,也就是upstream定义的多一个服务器了
proxy_pass http://test;
#nginx允许重设或增加头信息:默认有host和Connection
proxy_set_header host $proxy_host; #如果不想让nginx修改该值,可以传入 $http_host,但是如果客户端没传入,则这个变量也是无效的,可以使用$host作为替代,这个变量在客户端有值的时候传入客户端的值,没有的时候传入server的host。
proxy_set_header Connection close;
proxy_set_header Accept-Encoding ""; 空字符串表示不传值到上游服务器
#真实IP
proxy_set_header X-Real-IP $remote_addr;
#记录代理跳转的真实路径
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
}
}
}
典型Nginx配置
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 当第一集猿类族群已经扎根,可以驾驭枪炮,以人之道还诸彼身,第二集的冲突让凯撒不得不选择武装立国,按第二集故事走向和...