Nginx简单配置
#user nobody;
#设置 Nginx 的 worker 进程数为 1
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
# 每个 worker 进程允许的最大连接数为 1024
events {
worker_connections 1024;
}
http {
# 自定义main文件格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
# 包含 mime.types 文件,定义了 MIME 类型与文件扩展名的对应关系
include mime.types;
# 未知文件类型的默认 MIME 类型为 application/octet-stream
default_type application/octet-stream;
# 定义访问日志的位置和格式
access_log /usr/local/logs/access.log main;
# 开启 sendfile 功能,提高文件传输效率
sendfile on;
# 定义客户端与服务器的 keep-alive 连接超时时间
keepalive_timeout 65;
# 定义一个 upstream,指定后端服务器地址和端口(下同,可定义多个)
upstream hhhh {
# 后端服务器地址和端口(下同,可定义多个)
server Nginx所在服务ip:后端服务端口
};
upstream hhh {
server Nginx所在服务ip:后端服务端口
}
upstream h {
server Nginx所在服务ip:后端服务端口
}
upstream hh {
server Nginx所在服务ip:后端服务端口
}
#hhh配置
server {
# 监听端口号,前端发出的请求为http://localhost:0001,就会被拦截,做后续操作
listen 0001;
# 对应域名,有域名就写域名,没域名就写0.0.0.0表示所有
server_name 0.0.0.0;
# 支持uft-8格式,避免中文乱码
charset utf-8;
# 定义访问日志的位置和格式
access_log /data/nginx-1.24.0/logs/rizhi.access.log main;
# 定义失败日志的位置和格式
error_log /data/nginx-1.24.0/logs/rizhi.error.log info;
# 设置与后端服务器建立连接的超时时间。如果在该时间内无法建立连接,则会认为连接超时。
proxy_connect_timeout 1800;
# 设置从后端服务器读取响应的超时时间。如果在该时间内没有接收到响应数据,则会认为读取超时。
proxy_read_timeout 1800;
# 设置向后端服务器发送请求的超时时间。如果在该时间内无法发送完整的请求,则会认为发送超时。
proxy_send_timeout 1800;
# 设置向客户端发送响应的超时时间。如果在该时间内无法发送完整的响应,则会认为发送超时。
send_timeout 1800;
# 设置接收客户端请求体的最大大小。如果客户端发送的请求体超过了这个大小,则会返回 413 请求实体过大的错误。
client_max_body_size 50m;
# / 表示拦截所有请求,并且转发到代理地址http://hhh/;
location / {
# 设置代理地址
proxy_pass http://hhh/;
# 设置请求头中的 Host 字段为当前请求的主机名。这样可以让后端服务器知道客户端请求的实际主机名。
proxy_set_header Host $host;
# 设置请求头中的 X-Real-IP 字段为客户端的真实 IP 地址。这对于后端服务器获取客户端真实 IP 地址很有用,尤其在使用代理服务器时。
proxy_set_header X-Real-IP $remote_addr;
# 设置请求头中的 X-Forwarded-For 字段为客户端 IP 地址列表。这个字段通常用于标识请求经过的代理服务器链,其中包含了客户端的原始 IP 地址和代理服务器的 IP 地址。
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
#hhhh配置
server {
listen 0000;
server_name 0.0.0.0;
charset utf-8;
access_log /data/nginx-1.24.0/logs/rizhi3.access.log main;
error_log /data/nginx-1.24.0/logs/rizhi3.error.log info;
proxy_connect_timeout 1800;
proxy_read_timeout 1800;
proxy_send_timeout 1800;
send_timeout 1800;
client_max_body_size 50m;
location ^~ /callback/ {
proxy_pass http:/hhhh/callback/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ^~ /api/ {
proxy_pass http://hhhh/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
#hh配置
server {
listen 0002;
server_name 0.0.0.0;
charset utf-8;
access_log /data/nginx-1.24.0/logs/rizhi2.access.log main;
error_log /data/nginx-1.24.0/logs/rizhi2.error.log info;
proxy_connect_timeout 1800;
proxy_read_timeout 1800;
proxy_send_timeout 1800;
send_timeout 1800;
client_max_body_size 50m;
location ^~ /api/ {
proxy_pass http://hh/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /{
root /usr/local/webapps/vue_1.0 # 前端文件放置路径
index index.html; # 设置主页
try_files $uri $uri/ /index.html # 根据请求url在前端文件中寻找资源,如果没有,则寻找同名目录,如果还是没有,怎跳转到index.html
}
}
#h配置
server {
listen 0003;
server_name 0.0.0.0;
charset utf-8;
access_log /data/nginx-1.24.0/logs/rizi1.access.log main;
error_log /data/nginx-1.24.0/logs/rizi1.error.log info;
proxy_connect_timeout 1800;
proxy_read_timeout 1800;
proxy_send_timeout 1800;
send_timeout 1800;
client_max_body_size 50m;
location / {
proxy_pass http://h/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}