Nginx 性能参数优化
- user www www;
- # ginx要开启的进程数 一般等于cpu的总核数,没必要开那么多,1个nginx内存消耗10兆左右
- worker_processes 4;
- # 为每个进程分配cpu,上例中将4 个进程分配到4个cpu,当然可以写多个,或者将一 个进程分配到多个cpu。
- worker_cpu_affinity 00000001 00000010 00000100 00001000;
- # 每个nginx进程打开文件描述符最大数目 配置要和系统的单进程打开文件数一
- # 致,linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应,应该填写65535
- # nginx调度时分配请求到进程并不是那么的均衡,假如超过会返回502错误。我这里写的大一点
- worker_rlimit_nofile 100000;
- # 开启nginx错误日志
- error_log logs/error.log;
- # 告诉nginx只能记录严重的错误
- #error_log logs/error.log notice;
- #error_log logs/error.log info;
- #pid logs/nginx.pid;
- events {
- # 每个工作进程允许最大的同时连接数(Maxclient = work_processes * worker_connections)
- # 默认1024
- worker_connections 65535;
- # 告诉nginx收到一个新连接通知后接受尽可能多的连接。
- multi_accept on;
- # 设置用于复用客户端线程的轮询方法。如果你使用Linux 2.6+,你应该使用epoll。
- # 如果你使用*BSD,你应该使用kqueue。
- # 值得注意的是如果你不知道Nginx该使用哪种轮询方法的话,它会选择一个最适合你操作系统的
- use epoll;
- }
- http {
- include mime.types;
- default_type application/octet-stream;
- log_format main '$remote_addr - $remote_user [$time_local] "$request" '
- '$status $body_bytes_sent "$http_referer" '
- '"$http_user_agent" "$http_x_forwarded_for"';
- limit_req_zone $binary_remote_addr zone=allips:10m rate=20r/s;
- #
- #access_log logs/access.log main;
- # 这个将为打开文件指定缓存,默认是没有启用的,max 指定缓存数量,建议和打开文件数一致,
- # inactive 是指经过多长时间文件没被请求后删除缓存
- open_file_cache max=204800 inactive=20s;
- # open_file_cache 指令中的inactive 参数时间内文件的最少使用次数,
- # 如果超过这个数字,文件描述符一直是在缓存中打开的,
- # 如上例,如果有一个文件在inactive 时间内一次没被使用,它将被移除
- open_file_cache_min_uses 1;
- # 这个是指多长时间检查一次缓存的有效信息
- open_file_cache_valid 30s;
- # 并不会让nginx执行的速度更快,但它可以关闭在错误页面中的nginx版本数字,这样对于安全性是有好处的
- server_tokens off;
- # 磁盘和TCP socket之间互相拷贝数据(或任意两个文件描述符)。
- # Pre-sendfile是传送数据之前在用户空间申请数据缓冲区
- sendfile on;
- # 告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送
- #tcp_nopush on;
- # 告诉nginx不要缓存数据,而是一段一段的发送,
- # 当需要及时发送数据时,就应该给应用设置这个属性,这样发送一小块数据信息时就不能立即得到返回值。
- #tcp_nodelay on;
- upstream phpServer{
- server 172.20.17.210:9000 weight=1 max_fails=2 fail_timeout=3;
- server 172.20.17.211:9000 weight=1 max_fails=2 fail_timeout=3;
- }
- # keepalive超时时间
- keepalive_timeout 65;
- client_max_body_size 2m;
- # 不准许IP直接访问, 直接访问报500错误
- server {
- listen 80 default_server;
- server_name _;
- return 500;
- }
- # 配置虚拟主机,过个server就复制多个
- server {
- listen 80;
- # 开启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 text/javascript application/x-httpd-php;
- gzip_vary off;
- gzip_disable "MSIE [1-6]\.";
- # 配置域名
- server_name www.xxxxx.com xxxxx.com;
- # 配置网站目录
- root /usr/local/nginx/html/xxxxx.com;
- # 只允许我们的域名的访问
- if ($host !~ ^(xxxxx.com|www.xxxxx.com|images.xxxxx.com)$ ) {
- return 444;
- }
- # 配置域名重定向
- #if ($host != 'www.xxxxx.com' ) {
- # rewrite ^/(.*)$ http://www.xxxxx.com/$1 permanent;
- #}
- # 限制可用的请求方法
- if ($request_method !~ ^(GET|HEAD|POST)$ ) {
- return 444;
- }
- # 如何拒绝一些User-Agents
- if ($http_user_agent ~* LWP::Simple|BBBike|wget) {
- return 403;
- }
- # 如何防止图片盗链
- location /images/ {
- valid_referers none blocked www.xxxxx.com xxxxx.com;
- if ($invalid_referer) {
- return 403;
- }
- }
- location / {
- # 配置rewrite
- if (!-e $request_filename) {
- rewrite ^(.*)$ /index.php?s=$1 last;
- break;
- }
- # include /usr/local/nginx/html/yphp/.htaccess;
- # rewrite ^/(.+)/(.+)[/]?$ /index.php?m=$1&a=$2 last;
- # 配置默认访问文件
- index index.php index.html index.htm;
- }
- # 包含虚拟主机公用配置文件
- include server.conf;
- }
- }
Nginx 性能参数优化的更多相关文章
- [转帖]Java虚拟机(JVM)体系结构概述及各种性能参数优化总结
Java虚拟机(JVM)体系结构概述及各种性能参数优化总结 2014年09月11日 23:05:27 zhongwen7710 阅读数 1437 标签: JVM调优jvm 更多 个人分类: Java知 ...
- nginx+php-fpm性能参数优化原则
1.worker_processes 越大越好(一定数量后性能增加不明显) 2.worker_cpu_affinity 所有cpu平分worker_processes 要比每个worker_pro ...
- nginx 配置参数优化
nginx作为高性能web服务器,即使不特意调整配置参数也可以处理大量的并发请求.以下的配置参数是借鉴网上的一些调优参数,仅作为参考,不见得适于你的线上业务. worker进程 worker_proc ...
- Java虚拟机(JVM)体系结构概述及各种性能参数优化总结
转自:http://blog.csdn.net/zhongwen7710/article/details/39213377 第一部分:相关的概念 数据类型 Java虚拟机中,数据类型可以分为两类:基本 ...
- Mysql性能参数优化
1.Max_connections (1)简介 Mysql的最大连接数,如果服务器的并发请求量比较大,可以调高这个值,当然这是要建立在机器能够支撑的情况下,因为如果连接数越来越多,mysql会为每个连 ...
- JVM性能参数优化
以上是jdk1.7的默认GC回收器 Java的gc回收的类型主要有几种 UseSerialGC, UseConcMarkSweepGC, UseParNewGC, UseParallelGC, Use ...
- Php 性能参数优化 及 Iptables 防火墙限制用户访问平率
Php-Fpm.Conf 文件配置优化 [global] pid = run/php-fpm.pid process_control_timeout=5 [www] listen.allowed_cl ...
- Nginx性能优化技巧(6)
一.编译安装过程优化 1.减小Nginx编译后的文件大小 在编译Nginx时,默认以debug模式进行,而在debug模式下会插入很多跟踪和ASSERT之类的信息,编译完成后,一个Nginx要有好几兆 ...
- Nginx性能优化
一.编译安装过程优化 1.减小Nginx编译后的文件大小 在编译Nginx时,默认以debug模式进行,而在debug模式下会插入很多跟踪和ASSERT之类的信息,编译完成后,一个Nginx要有好几兆 ...
随机推荐
- OAuth2 .net MVC实现获取token
OAuth2 的原理这里不多讲,可以看:https://www.cnblogs.com/icebutterfly/p/8066548.html 直奔主题:这里要实现的功能为,统计微软的Owin程序集实 ...
- bitset用法
学习博客:https://www.cnblogs.com/magisk/p/8809922.html C++的 bitset 在 bitset 头文件中,它是一种类似数组的结构,它的每一个元素只能是0 ...
- 3dsmax2013卸载/安装失败/如何彻底卸载清除干净3dsmax2013注册表和文件的方法
3dsmax2013提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装3dsmax2013失败提示3dsmax2013安装未完成,某些产品无法安装,也有时候想重新 ...
- ocr 资源
1. PIL 在图片上添加中文 https://blog.csdn.net/m0_37606112/article/details/78511381 2 .Chinese Text in the Wi ...
- 【Lua】CJSON的安装
Lua CJSON 是 Lua 语言提供高性能的 JSON 解析器和编码器,其性能比纯 Lua 库要高 10 到 20 倍.Lua CJSON 完全支持 UTF-8 ,无需依赖其他非 Lua/LuaJ ...
- jar包读取配置文件
读取jar包内配置文件: Properties config = new Properties(); InputStream in = this.getClass().getClassLoader() ...
- Ubuntu apache
Linux系统为Ubuntu 1. 启动apache服务 # /etc/init.d/apache2 start 2. 重启apache服务 # /etc/init.d/apache2 restart ...
- 第六章使用java实现面向对象-集合框架
一:接口:即表示集合的抽象数据类型. 实现:即集合框架中接口的实现. 算法:在一个实现了某个集合框架中的接口的对象身上完成某种有用的计算的方法,例如查找. 排序等. Collection 接口存储一组 ...
- Android 屏蔽recent task 按钮
Step 1 Add this permission to the manifest.xml file <uses-permission android:name="android.p ...
- System.Web.Mvc.HtmlHelper<dynamic>”没有名为“Partial”的适用方法,但似乎有一个具有该名称的扩展方法。扩展方法不能进行动态调度。请考虑强制转换动态参数,或调用该扩展方法但不使用扩展方法语法。
MVC 调用分布式图,传了没有定义的参数,,参数写得不对