Nginx配置
Nginx的配置文件#
Nginx的配置文件放在/etc/nginx路径之下,运行ls -l /etc/nginx 输出
主配置文件nginx.conf详细说明#
#运行用户
user nginx;
#进程数目,通常设置成和cpu的数量相等
worker_processes 1;
#全局错误日志
error_log /var/log/nginx/error.log warn;
#PID文件
pid /var/run/nginx.pid;
#工作模式及连接数上限
events {
#单个worker_process进程的最大并发链接数
worker_connections 1024;
}
#设定http服务器,利用它的反向代理功能还可以提供负载均衡支持
http {
#设定mime类型,类型由mime.type文件定义
include /etc/nginx/mime.types;
#制定默认MIME类型为二进制字节流
default_type application/octet-stream;
#日志格式,参考URL
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;
#开启调用Linux的sendfile(),提供文件传输效率
#sendfile一般设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime
sendfile on;
#是否允许使用socket的TCP_NOPUSH或TCP_CORK选项
#tcp_nopush on;
#指定客户端连接保持活动的超时时间,在这个时间之后,服务器会关掉连接
keepalive_timeout 65;
#设置开启gzip压缩,参考URL
#gzip on;
#虚拟主机配置文件引入
include /etc/nginx/conf.d/*.conf;
}
主配置文件nginx.conf参数优化要点#
1. worker_processes及 worker_connections配置#
默认配置中worker_processes及 worker_connections的数目有点小,只能应付1000次/秒以内的请求。
#默认配置
worker_processes 1;
worker_connections 1024;
通常情况下,worker_processes设置为cpu数目,worker_connections保持1024即可。你可以使用cat /proc/cpuinfo |grep processor来查看CPU数量
2. 隐藏Ngnix版本信息#
server_tokens off;
3. 拒绝web访问系统隐藏文件#
location ~ /\. {
access_log off;
log_not_found off;
deny all;
}
4. 限制最大文件上传大小#
client_max_body_size 20m;
client_body_buffer_size 128k;
5. Nginx静态文件缓存控制#
浏览器缓存非常有利于节省带宽,在Nginx中非常容易配置
location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
access_log off;
log_not_found off;
expires 360d;
}
6. Ngnix转发PHP请求至PHP-FPM#
# Pass PHP scripts to PHP-FPM
location ~* \.php$ {
try_files $uri /index.php;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
7. 开启GZIP压缩#
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css
application/xml;
gzip_vary on;
分类:
nginx && fpm
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?