在Nginx中,nginx.conf 和 conf.d 目录都用于配置Nginx服务器,但它们的用途和使用方式有所不同。下面是对这两者的详细说明:
nginx.conf
nginx.conf 是Nginx的主配置文件,通常位于 /etc/nginx/nginx.conf 路径下。这个文件包含了Nginx服务器的全局配置和默认的服务器块配置。以下是一个典型的 nginx.conf 文件结构:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/conf.d/*.conf;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
location / {
try_files $uri $uri/ =404;
}
}
}
在上面的配置中,http 块中包含了一个 include 指令,它会包含 conf.d 目录下的所有 .conf 文件。这样可以将不同的站点或应用的配置分离到不同的文件中,便于管理。
conf.d 目录
conf.d 目录通常用于存放单独的站点或应用的配置文件。这些配置文件会被主配置文件 nginx.conf 包含进来。每个 .conf 文件通常包含一个或多个 server 块,用于定义具体的站点配置。
例如,你可以在 conf.d 目录下创建一个新的文件 minio.conf 来配置MinIO的反向代理:
server {
listen 80;
server_name your-domain.com;
location / {
proxy_set_header Host $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_pass http://127.0.0.1:9000; # MinIO的内部地址
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
}
}
# 如果使用HTTPS,则添加以下配置
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
location / {
proxy_set_header Host $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_pass http://127.0.0.1:9000; # MinIO的内部地址
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
}
}
将这个文件保存到 conf.d 目录下,例如 /etc/nginx/conf.d/minio.conf。
总结
nginx.conf:主配置文件,包含全局配置和默认服务器块配置。conf.d目录:用于存放单独站点或应用的配置文件,这些文件会被nginx.conf包含进来。
通过这种方式,你可以将不同的站点或应用的配置分离到不同的文件中,便于管理和维护。每次修改 `
本文是原创文章,采用 CC BY-NC-SA 4.0 协议,完整转载请注明来自 小朱
评论
隐私政策
0/500
滚动到此处加载评论...


