记录nginx使用过程中遇到的配置及调优
- 1、反向代理&负载均衡
当后端有多个服务实例运行,通过nginx发布服务实现负载均衡,客户端统一访问nginx
端点,再由反向代理分配给具体的服务器处理请求。
在server
节点下添加需要代理的location
,proxy_pass
指向代理的服务地址,有多少个location就配多少个。其中webservers
是在upstream
里面配置的负载的服务,weight
表示负载均衡的权重。
upstream webservers {
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:8081 weight=1;
}
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location ^~/test/ {
proxy_pass http://webservers/test/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
- 2、配置文件访问服务
当浏览器需要访问某个文件并且希望通过连接直接下载文件时,需要配置一个文件映射目录,并且添加文件返回的http头信息,添加http头是为了用浏览器打开连接时直接下载。
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location /file/ {
if ($request_filename ~* ^.*?\.*$){
add_header Content-Disposition: 'attachment; filename=$1';
add_header Content-Type application/octet-stream;
}
alias /home/store/file/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}