跳至主要内容

Nginx - 配置

https://blog.csdn.net/tsummerb/article/details/79248015 https://docs.nginx.com/nginx/admin-guide/security-controls/securing-http-traffic-upstream/

核心文件配置

  • 全局配置
  • events 模塊
  • http 模塊
  • upstream 模塊

Default /usr/local/etc/nginx/nginx.conf


#user nobody;
worker_processes 1;

# error_log /var/log/nginx/error.log info;
# error_log /var/log/nginx/error.log notice;
# error_log /var/log/nginx/error.log error;
# error_log /var/log/nginx/error.log warn;

# pid /var/run/nginx.pid; # 記錄主進程的id
# worker_rlimit_nofile 65535; # 每一個 nginx 進程能打開的最大文件數目

events {
use epoll;
worker_connections 1024; # 單個 nginx 進程最大連接數
}


http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

client_header_buffer_size 1k;
large_client_header_buffers 21k;
client_body_buffer_size 16k;
client_max_body_size 8m;


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_requests 100000; # 同一個連接接受最大請求數
keepalive_timeout 120; # 兩分鐘內可以使用同一個連接

# gzip on;

upstream 127.0.0.1:8080 {
server 127.0.0.1:3000;
server 127.0.0.1:4000;
server 127.0.0.1:5000;
}

server {
listen 80;
server_name localhost; # server_name 需要代理的域名1 需要代理的域名2 需要代理的域名3,http 請求 header host 的值

#charset koi8-r;

#access_log logs/host.access.log main;

# 路徑配置,可以是本地文件路徑,也可以是其他服務器的服務路徑

# 圖片類的請求
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 10d;
}

# 此域名的請求映射底下文件系統
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}

# 反向代理
location /app {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

}

# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;

# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;

# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;

# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;

# location / {
# root html;
# index index.html index.htm;
# }
#}

include /etc/nginx/conf.d/*.conf; # 用於配置文件合併,例如將 server {}, upstream {} 的相關配置寫在另一份文件存在 /etc/nginx/conf.d/my_server.conf
}