如下↓
# 一个基础的 Nginx 配置,根据需求改成自己项目的。
# 全局配置段
user nginx; # 运行nginx的用户
worker_processes auto; # 自动根据CPU核心数设置工作进程数
error_log /var/log/nginx/error.log warn; # 错误日志路径和级别
pid /var/run/nginx.pid; # 进程ID文件位置
# 事件模块配置
events {
worker_connections 1024; # 每个工作进程的最大连接数
use epoll; # 使用epoll高效模式(Linux)
multi_accept on; # 同时接受多个新连接
}
# HTTP模块配置
http {
# 基础设置
include /etc/nginx/mime.types; # MIME类型映射文件
default_type application/octet-stream; # 默认MIME类型
# 日志格式
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; # 仅在sendfile为on时有效,优化数据包发送
tcp_nodelay on; # 禁用Nagle算法,提高实时性
keepalive_timeout 65; # 保持连接的超时时间
types_hash_max_size 2048; # types哈希表大小
# Gzip压缩配置
gzip on; # 启用gzip压缩
gzip_min_length 1k; # 最小压缩文件大小
gzip_comp_level 2; # 压缩级别(1-9)
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
# 包含其他配置文件
include /etc/nginx/conf.d/*.conf; # 包含其他配置文件
# 示例server配置(也可以放在单独的conf.d文件中)
server {
listen 80; # 监听端口
server_name localhost; # 域名
# 重定向到服务
location / {
return 302 /pathName
}
# 静态文件服务配置
# 如果webpack/vite中配置了 publicPath , location /`这里的路径地址要与 publicPath的值相同`
# 例如配置: publicPath : pathName
location /pathName {
alias /usr/share/nginx/html; # 网站根目录
index index.html index.htm; # 默认索引文件
try_files $uri $uri/ /index.html; # 尝试查找文件规则
}
# 后台接口代理
location /api/ {
proxy_pass http://localhost/api/;
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_connect_timeout 60s;
proxy_read_timeout 60s;
}
# 错误页面配置
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
# 可以添加更多server块来配置虚拟主机
}