Nginx拆分配置文件的办法
Posted 济南小老虎
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx拆分配置文件的办法相关的知识,希望对你有一定的参考价值。
Nginx拆分配置文件的办法
摘要
最近公司使用Nginx进行微服务的路由处理
但是发现随着业务发展, 配置文件越来越复杂.
修改起来也很容易出现错误.
基于此. 想通过拆分配置文件的方式来提高修改效率和准确性.
其实方法非常简单, 记录一下知识备忘.
拆分的方法
其实不需要必须使用 conf.d的目录
可以使用自定义目录进行处理
比如这次我准备使用
upstream
location
两个目录
一个用来存放 后端服务器的地址列表
一个用来存放 proxy_pass代理服务的设置
拆分说明
主要的配置文件为 nginx.conf
然后通过 nginx -t -c nginx.conf 进行检查.
然后可以通过include的方式挂载到里面的配置文件.
方式还是比较优雅的.
main 的配置文件
worker_processes 2;
events
worker_connections 10240;
http
log_format main \'$remote_addr - $remote_user [$time_local] "$request" \'
\'$status $body_bytes_sent "$http_referer" \'
\'"$http_user_agent" "$http_x_forwarded_for" $request_time $upstream_response_time\';
access_log /data/nginx/gscloudsu.log main ;
client_header_timeout 600;
client_body_timeout 600;
client_max_body_size 300m;
proxy_send_timeout 600;
proxy_read_timeout 600;
proxy_buffer_size 1024k;
proxy_buffers 16 1024k;
proxy_busy_buffers_size 2048k;
proxy_temp_file_write_size 2048k;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_comp_level 8;
gzip_types text/plain application/javascript text/css application/json text/javascript image/svg+xml image/png;
gzip_vary off;
include upstream/*.conf ;
server
listen 5200;
server_name localhost;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
include location/*.conf ;
location配置节
mainapp:
location ^~ /
proxy_pass http://appmain/;
#业务中台
location ^~ /api/bp
proxy_pass http://appmain/api/bp;
# web apps
location ^~ /apps/bp
proxy_pass http://appmain/apps/bp;
slaveapp:
# crm apps web
location ^~ /apps/crm
proxy_pass http://appslave/apps/crm;
# crm service to Java
location ^~ /api/crm
proxy_pass http://appslave/api/crm;
upstream配置节
main的:
upstream appmain
ip_hash;
server 127.0.0.1:5201;
server 127.0.0.1:5202;
appslave的:
upstream appslave
ip_hash;
server 127.0.0.1:5298;
server 127.0.0.1:5299;
以上是关于Nginx拆分配置文件的办法的主要内容,如果未能解决你的问题,请参考以下文章
多个linux服务器批量更改nginx配置文件并且立即生效的办法