nginx-配置详解
2022-08-04 16:32:10 22 举报
记录nginx.conf 配置说明
作者其他创作
大纲/内容
server模块
http模块
events模块
#虚拟主机的常见配置server { listen 80; #配置监听端口 server_name localhost; #配置服务名 charset utf-8; #配置字符集 access_log logs/host.access.log main; #配置本虚拟主机的访问日志 location / { root html; #root是配置服务器的默认网站根目录位置,默认为Nginx安装主目录下的html目录 index index.html index.htm; #配置首页文件的名称 proxy_pass http://127.0.0.1:88; #反向代理的地址 proxy_redirect off; #是否开启重定向 #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; #以下是一些反向代理的配置,可选。 client_max_body_size 10m; #允许客户端请求的最大单文件字节数 client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数, proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时) proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时) proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时) proxy_buffer_size 4k; #设置代理服务器(Nginx)保存用户头信息的缓冲区大小 proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的设置 proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2) proxy_temp_file_write_size 64k; #设定缓存文件夹大小 } error_page 404 /404.html; #配置404错误页面 error_page 500 502 503 504 /50x.html; #配置50x错误页面}
#常见的一些基础配置include mime.types; #文件扩展名与文件类型映射表default_type application/octet-stream; #默认文件类型charset utf-8; #默认编码server_names_hash_bucket_size 128; #服务器名字的hash表大小client_header_buffer_size 32k; #上传文件大小限制large_client_header_buffers 4 64k; #设定请求缓冲client_max_body_size 8m; #设定请求缓冲sendfile on; #开启高效文件传输模式,对于普通应用设为on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。autoindex on; #开启目录列表访问,合适下载服务器,默认关闭。tcp_nopush on; #防止网络阻塞tcp_nodelay on; #防止网络阻塞keepalive_timeout 120; #长连接超时时间,单位是秒#FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 128k;#gzip模块设置gzip on; #开启gzip压缩输出gzip_min_length 1k; #最小压缩文件大小gzip_buffers 4 16k; #压缩缓冲区gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)gzip_comp_level 2; #压缩等级gzip_types text/plain application/x-javascript text/css application/xml; #压缩类型gzip_vary on; #增加响应头'Vary: Accept-Encoding'limit_zone crawler $binary_remote_addr 10m; #开启限制IP连接数的时候需要使用
#配置worker进程运行用户(和用户组),nobody也是一个Linux用户,一般用于启动程序,没有密码user nobody;#user www www;#配置工作进程数目,根据硬件调整,通常等于CPU数量或者2倍于CPU数量worker_processes 1;#配置全局错误日志及类型,[debug | info | notice | warn | error | crit],默认是errorerror_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#配置进程pid文件pid logs/nginx.pid;#一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与Nginx进程数相除,但是Nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。worker_rlimit_nofile 65535;
全局配置
#配置https服务,安全的网络传输协议,加密传输,端口443server { 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; }}
events { #参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; #epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。 use epoll; #单个进程最大连接数(最大连接数=连接数*进程数) worker_connections 65535;}
0 条评论
下一页