博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx配置
阅读量:6302 次
发布时间:2019-06-22

本文共 7090 字,大约阅读时间需要 23 分钟。

hot3.png

下面是从百度中找到的,感谢分享

#定义Nginx运行的用户和用户组user www www;#nginx进程数,建议设置为等于CPU总核心数。worker_processes 8;#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log /var/log/nginx/error.log info;#进程文件pid /var/run/nginx.pid;#一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx进程数相除,但是nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。worker_rlimit_nofile 65535;#工作模式与连接数上限events{#参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。use epoll;#单个进程最大连接数(最大连接数=连接数*进程数)worker_connections 65535;}#设定http服务器http{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; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 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;#压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。gzip_vary on;#limit_zone crawler $binary_remote_addr 10m; #开启限制IP连接数的时候需要使用upstream blog.ha97.com {#upstream的负载均衡,weight是权重,可以根据机器配置定义权重。weigth参数表示权值,权值越高被分配到的几率越大。server 192.168.80.121:80 weight=3;server 192.168.80.122:80 weight=2;server 192.168.80.123:80 weight=3;}#虚拟主机的配置server{#监听端口listen 80;#域名可以有多个,用空格隔开server_name www.ha97.com ha97.com;index index.html index.htm index.php;root /data/www/ha97;location ~ .*\.(php|php5)?${fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;include fastcgi.conf;}#图片缓存时间设置location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 10d;}#JS和CSS缓存时间设置location ~ .*\.(js|css)?${expires 1h;}#日志格式设定log_format access '$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/ha97access.log access;#对 "/" 启用反向代理location / {proxy_pass http://127.0.0.1:88;proxy_redirect off;proxy_set_header X-Real-IP $remote_addr;#后端的Web服务器可以通过X-Forwarded-For获取用户真实IPproxy_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;#设定缓存文件夹大小,大于这个值,将从upstream服务器传}#设定查看Nginx状态的地址location /NginxStatus {stub_status on;access_log on;auth_basic "NginxStatus";auth_basic_user_file conf/htpasswd;#htpasswd文件的内容可以用apache提供的htpasswd工具来产生。}#本地动静分离反向代理配置#所有jsp的页面均交由tomcat或resin处理location ~ .(jsp|jspx|do)?$ {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_pass http://127.0.0.1:8080;}#所有静态文件由nginx直接读取不经过tomcat或resinlocation ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)${ expires 15d; }location ~ .*.(js|css)?${ expires 1h; }}}

-------------------------以上是从百度中搜索获得,感谢分享---------------------------------------

下面是我的最简单配置:

worker_processes 1; events { worker_connections 1024; } http{ upstream localhost { #这里指定多个源服务器,ip:端口,80端口的话可写可不写 server 192.168.1.106:8080 weight=5; server 192.168.1.106:8888 weight=8; } server { listen 80; location / { proxy_pass http://localhost; } } }

监听的接口是80,然后负载均衡两个服务器,我在我本地运行了两个不同的tomcat,他们对应着不同的端口(具体设置方法搜索百度,这里不记录基础功能)

这两个tomcat分别在8080与8888两个端口,这时候访问localhost后,发现系统在两个tomcat中来回切换。 weight 决定哪个服务器被调用的几率,weight越大,几率越大。

然后下面是我的复杂配置:

user  www www;worker_processes auto;error_log  /usr/local/nginx/logs/nginx_error.log  crit;pid        /usr/local/nginx/logs/nginx.pid;#Specifies the value for maximum file descriptors that can be opened by this process.worker_rlimit_nofile 51200;events {     worker_connections 1024; } http    {        include       mime.types;        default_type  application/octet-stream;        server_names_hash_bucket_size 128;        client_header_buffer_size 32k;        large_client_header_buffers 4 32k;        client_max_body_size 50m;        sendfile on;        tcp_nopush     on;        keepalive_timeout 60;        tcp_nodelay on;        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;        gzip_proxied        expired no-cache no-store private auth;        gzip_disable        "MSIE [1-6]\.";        #limit_conn_zone $binary_remote_addr zone=perip:10m;        ##If enable limit_conn_zone,add "limit_conn perip 10;" to server section.        server_tokens off;        #log format        log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '             '$status $body_bytes_sent "$http_referer" '             '"$http_user_agent" $http_x_forwarded_for';                     upstream localhost {             #这里指定多个源服务器,ip:端口,80端口的话可写可不写             server 192.168.1.106:8080 weight=5;             server 192.168.1.106:8888 weight=8;              server 192.168.1.106:8554 weight=8;         } server    {        listen 80 default;        #listen [::]:80 default ipv6only=on;        server_name localhost;        index index.html index.htm index.jsp index.jspx index.jhtml;       # root  /usr/local/apache-tomcat-7.0.57/webapps;        #error_page   404   /404.html;        location / {                    index  index.html index.htm;            proxy_pass http://localhost;            proxy_redirect default;            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 10;            }               location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$        {            root  /Users/ivy/360云盘/javaweb/tomcat8080/webapps;            expires      30d;        }        location ~ .*\.(js|css)?$        {            root  /Users/ivy/360云盘/javaweb/tomcat8080/webapps;            expires      12h;        }        access_log  /usr/local/nginx/logs/access.log  access;    }#IP access is not allowed#server { #        listen  80 default;#        server_name  _;#       return 408;#    }    include vhost/*.conf;}

转载于:https://my.oschina.net/piaofudeyu/blog/536919

你可能感兴趣的文章
C# Dictionary.Add(key,"123") 与 Dictionary[key]="123"的区别
查看>>
cocos2dx 学习代码记录
查看>>
xcode 各版本下载地址及其它工具下载地址
查看>>
MVC 自定义AuthorizeAttribute实现权限管理
查看>>
内存溢出导致jenkins自动部署到tomcat失败
查看>>
Python之zip
查看>>
try catch finally
查看>>
UOJ #148. 【NOIP2015】跳石头 二分
查看>>
lintcode 中等题:和大于S的最小子数组
查看>>
用于重新编译的工具和命令
查看>>
pthread_create()之前的属性设置
查看>>
composer使用
查看>>
多种方法实现Loading(加载)动画效果
查看>>
王立平-NGUI
查看>>
js监听 window.open 关闭事件
查看>>
C++编程学习52个经典网站 强力推荐
查看>>
Python中:self和__init__的含义 + 为何要有self和__init__
查看>>
IOS开发基础知识--碎片41
查看>>
POJ3967Ideal Path[反向bfs 层次图]
查看>>
在市场营销中使用敏捷方法:过程、团队与成功案例
查看>>