文章目录
- 前言
- nginx conf.d 模块化配置
- 1. 概述
- 2. 优势
- 3. 配置
前言
如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!
nginx conf.d 模块化配置
1. 概述
在 Nginx 中,conf.d 目录通常用于模块化配置,这种做法允许将不同的 Nginx 配置文件分成多个独立的文件,以便管理和维护。具体来说,conf.d 目录是 Nginx 主配置文件(通常是 nginx.conf)中的一个 include 文件夹,用于引入其他配置文件的内容。
通常情况下,Nginx 的主配置文件 nginx.conf 包含了各种配置块(例如 http、server、location 等),这些块可以包含在一个文件中,也可以分散在多个文件中。使用 conf.d 目录可以有效地将这些配置块分离到单独的文件中,每个文件负责特定的配置项或服务。
2. 优势
-
结构清晰:将配置文件按功能或服务拆分成多个文件,使得整体配置结构更加清晰和有条理。
-
简化管理:每个文件只需关注特定功能或服务的配置,易于单独维护和修改,减少出错的可能性。
-
灵活性:可以根据需要添加、删除或修改单个配置文件,而不必编辑主配置文件,方便扩展和调整配置。
3. 配置
nginx.conf内容:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
access_log logs/access.log myFormat; #combined为日志格式的默认值
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
include conf.d/*.conf;
error_page 500 502 503 504 /50x.html;
}
添加 include conf.d/*.conf; 命令
module_A.conf
upstream mymanagerA {
ip_hash;
server 192.168.33.125:8088 weight=20 max_fails=2 fail_timeout=30s;
}
server {
listen 8002 ;
server_name www.yzy.com;
location / {
root html;
index index.html index.htm;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location /api/ {
proxy_pass http://mymanagerHttpHttps;
proxy_set_header Host $host:$proxy_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
module_B.conf
upstream mymanagerB {
ip_hash;
server 192.168.33.125:8088 weight=20 max_fails=2 fail_timeout=30s;
}
server {
listen 8002 ;
server_name www.hahah.com;
location / {
root html;
index index.html index.htm;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location /api/ {
proxy_pass http://mymanagerHttpHttps;
proxy_set_header Host $host:$proxy_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
注意的是upstream 是唯一的,所以不管你有几个conf文件,所有文件里面的内容中upstream 不能重复