nginx 语法解读
#-----------全局块 START----------- user nobody; # 运行用户,默认即是nginx,可以不进行设置 worker_processes 1; # Nginx 进程数,一般设置为和 CPU 核数一样 worker_processes auto; # Nginx 进程数 与当前 CPU 物理核心数一致 error_log /var/log/nginx/error.log warn; # Nginx 的错误日志存放目录,日志级别是warn pid /var/run/nginx.pid; # Nginx 服务启动时的 pid 存放位置 worker_rlimit_nofile 20480; # 可以理解成每个 worker 子进程的最大连接数量。 #-----------全局块 END----------- #-----------events块 START----------- events { accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为on multi_accept on; #设置一个进程是否同时接受多个网络连接,默认为off # 事件驱动模型有 select|poll|kqueue|epoll|resig|/dev/poll|eventport use epoll; #使用 epoll的I/O模型,建议使用默认 worker_connections 1024; # 每个进程允许最大并发数 } #-----------events块 END----------- http { # 配置使用最频繁的部分,代理、缓存、日志定义等绝大多数功能和第三方模块的配置都在这里设置 # 设置日志自定义格式 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 /var/log/nginx/access.log myFormat; # Nginx访问日志存放位置,并采用上面定义好的格式 sendfile on; # 开启高效传输模式 tcp_nopush on; # 减少网络报文段的数量 tcp_nodelay on; keepalive_timeout 65; # 保持连接的时间,也叫超时时间,单位秒 types_hash_max_size 2048; include /etc/nginx/mime.types; # 文件扩展名与类型映射表 default_type application/octet-stream; # 默认文件类型 include /etc/nginx/conf.d/*.conf; # 使用include引入其他子配置项,不存在会报错 server { keepalive_requests 120; #单连接请求上限次数。 listen 80; # 配置监听的端口 server_name localhost 127.0.0.1 baimuxym.cn; # 配置监听的域名或者地址,可多个,用空格隔开 location / { root /usr/share/nginx/html; # 网站根目录 index index.html index.htm; # 默认首页文件 deny 172.18.5.54 # 禁止访问的ip地址,可以为all allow 172.18.5.53;# 允许访问的ip地址,可以为all } # 图片防盗链 location ~* \.(gif|jpg|jpeg|png|bmp|swf)$ { valid_referers none blocked 192.168.0.2; # 只允许本机 IP 外链引用 if ($invalid_referer){ return 403; } } #新增内容,可以在自己的server单独配置错误日志 error_log logs/error_localhost.log error; error_page 500 502 503 504 /50x.html; # 默认50x对应的访问页面 error_page 400 404 error.html; # 同上 } }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步