Nginx配置文件详细说明(转)

在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络.

#运行用户
user www-data;   
#启动进程,通常设置成和cpu的数量相等
worker_processes  1;

#全局错误日志及PID文件
error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

#工作模式及连接数上限
events {
    use   epoll;             #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
    worker_connections  1024;#单个后台worker process进程的最大并发链接数
    # multi_accept on;
}

#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
     #设定mime类型,类型由mime.type文件定义
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    #设定日志格式
    access_log    /var/log/nginx/access.log;

    #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
    #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
    sendfile        on;
    #tcp_nopush     on;

    #连接超时时间
    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;
   
    #开启gzip压缩
    gzip  on;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

    #设定请求缓冲
    client_header_buffer_size    1k;
    large_client_header_buffers  4 4k;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

    #设定负载均衡的服务器列表
     upstream mysvr {
    #weigth参数表示权值,权值越高被分配到的几率越大
    #本机上的Squid开启3128端口
    server 192.168.8.1:3128 weight=5;
    server 192.168.8.2:80  weight=1;
    server 192.168.8.3:80  weight=6;
    }


   server {
    #侦听80端口
        listen       80;
        #定义使用www.xx.com访问
        server_name  www.xx.com;

        #设定本虚拟主机的访问日志
        access_log  logs/www.xx.com.access.log  main;

    #默认请求
    location / {
          root   /root;      #定义服务器的默认网站根目录位置
          index index.php index.html index.htm;   #定义首页索引文件的名称

          fastcgi_pass  www.xx.com;
         fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
          include /etc/nginx/fastcgi_params;
        }

    # 定义错误提示页面
    error_page   500 502 503 504 /50x.html; 
        location = /50x.html {
        root   /root;
    }

    #静态文件,nginx自己处理
    location ~ ^/(images|javascript|js|css|flash|media|static)/ {
        root /var/www/virtual/htdocs;
        #过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。
        expires 30d;
    }
    #PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.
    location ~ \.php$ {
        root /root;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /home/www/www$fastcgi_script_name;
        include fastcgi_params;
    }
    #设定查看Nginx状态的地址
    location /NginxStatus {
        stub_status            on;
        access_log              on;
        auth_basic              "NginxStatus";
        auth_basic_user_file  conf/htpasswd;
    }
    #禁止访问 .htxxx 文件
    location ~ /\.ht {
        deny all;
    }
    
     }
}

以上是一些基本的配置,使用Nginx最大的好处就是负载均衡

如果要使用负载均衡的话,可以修改配置http节点如下:

#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
     #设定mime类型,类型由mime.type文件定义
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    #设定日志格式
    access_log    /var/log/nginx/access.log;

    #省略上文有的一些配置节点

    #。。。。。。。。。。

    #设定负载均衡的服务器列表
     upstream mysvr {
    #weigth参数表示权值,权值越高被分配到的几率越大
    server 192.168.8.1x:3128 weight=5;#本机上的Squid开启3128端口
    server 192.168.8.2x:80  weight=1;
    server 192.168.8.3x:80  weight=6;
    }

   upstream mysvr2 {
    #weigth参数表示权值,权值越高被分配到的几率越大

    server 192.168.8.x:80  weight=1;
    server 192.168.8.x:80  weight=6;
    }

   #第一个虚拟服务器
   server {
    #侦听192.168.8.x的80端口
        listen       80;
        server_name  192.168.8.x;

      #对aspx后缀的进行负载均衡请求
    location ~ .*\.aspx$ {

         root   /root;      #定义服务器的默认网站根目录位置
          index index.php index.html index.htm;   #定义首页索引文件的名称

          proxy_pass  http://mysvr ;#请求转向mysvr 定义的服务器列表

          #以下是一些反向代理的配置可删除.

          proxy_redirect off;

          #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          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服务器传

       }

     }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

运营推广的一些方法

1、技术操作维度:ASO,SEO,ASO简单介绍:http://baike.baidu.com/subview/1368976/9766740.htmSEO学习:《SEO实战密码》https://book.douban.com/subject/5348144/ 《SEO艺术》https://book.douban.com/subject/1054613…

wait放弃对象锁_Java线程中wait、await、sleep、yield、join用法总结

一、wait()、notify()、notifyAll()用法obj.wait()/obj.wait(long timeout)是Object中的方法,当线程调用wait()方法,当前线程释放对象锁,进入等待队列。obj.notify()/obj.nogifyAll()是Object中的方法,唤醒在此对象上wait()的单个…

10个C#编程和Visual Studio使用技巧

摘要:C#是一门伟大的编程语言,与C++和Java相比,它的语法更简单,相对来说更好入门。Visual Studio作为.Net平台上最重量级的IDE,也通过不断的更新为开发者带来更出色的开发体验。本文将介绍10个C#编程和Visual Studio IDE使用技巧。

AspNet Core 6.0 Json写默认首字母小写(camelCase)问题

最近在把旧项目迁移到.net core6.0时遇到了之前一样的问题:框架返回的json序列化时将原来的首字母大写的字段统统转成了首字母小写的小驼峰命名,导致原来写好的前端数据无法正确渲染。于是上网找了下取消该默认行为的方法,在Startup.cs中添加…

学习总结——Selenium元素定位

读一本好书&#xff0c;不能读读就算了&#xff0c;做一下总结&#xff0c;变成自己的&#xff0c;以备查阅。 1. driver.findElement(By.id(<element ID>)) ID是独一无二的&#xff0c;使用ID定位是最为推荐的方法。 但是&#xff1a;1.不是所有元素都会指定ID&…

open ssl里面的自定义get***函数失效

1 问题 在open ssl加载引起里面部分我自己写了一个get和set方法,然后我在其它地方调用使用了Info类型的声明 extern Info info; 先初始化info,然后 info->setA(&info, value); char value[100]; 但是我立马 info->getA(&info, value, sizeof(value)); LOGI(…

计算机在现代商业中的作用,现代商业中计算机web数据挖掘技术的应用

[摘 要] 随着科技水平的不断提高&#xff0c;各种高科技设备辅助互联网将数字化、信息化的方法和手段运用到了各行各业之中&#xff0c;尤其在现代商业中&#xff0c;国际化、全球化的市场规模使得信息的处理工作极为庞大&#xff0c;需要更多的依赖计算机技术来完成。Web数据挖…

八种状态增加测试用例状态的精确度

一般在工作中记录测试用例状态用到三种状态&#xff1a;通过&#xff08;Pass&#xff09;&#xff0c;失败&#xff08;Fail&#xff09;和排队等待中&#xff08;In Queue&#xff09;。但是我倾向与更准确地表示一个一般测试用例的生命周期&#xff0c;尽管你的测试的周期会…

怎么找到项目中所有同名的类_26岁转行程序员的成长历程--Day03从内存层面理解类和对象...

今天学习了类、对象及相关知识&#xff0c;试着从内存角度分析三者关系&#xff0c;如果有不对的地方请指正首先得先介绍java中的三个内存区域&#xff1a;栈区用于存放该线程执行方法的信息&#xff08;实际参数、局部变量等&#xff09;。栈属于线程私有&#xff0c;不能实现…

pycharm提示your evalluation license has expired解决方法

安装pycharm&#xff0c;一段时间后提示your evalluation license has expired&#xff1a;打开pycharm--点击help--register--选中license server,输入license server address如图示即可 转载于:https://www.cnblogs.com/youtiaoge/p/7125070.html

【SPSS统计分析】SPSS聚类分析:一个案例演示聚类分析全过程(附SPSS 19.0中文版下载)

摘要:案例数据源: 有20种12盎司啤酒成分和价格的数据,变量包括啤酒名称、热量、钠含量、酒精含量、价格。数据来自《SPSS for Windows 统计分析》。 目 录 问题一:选择那些变量进行聚类?——采用“R型聚类

python利用特征进行可视化样本显示_利用Python进行机器学习之特征选择

毫无疑问&#xff0c;解决一个问题最重要的是恰当选取特征、甚至创造特征的能力&#xff0c;这叫做特征选取和特征工程。对于特征选取工作&#xff0c;我个人认为分为两个方面&#xff1a;1)利用python中已有的算法进行特征选取。2)人为分析各个变量特征与目标值之间的关系&…

poj 2886 Who Gets the Most Candies?(线段树)

题目链接&#xff1a;poj 2886 Who Gets the Most Candies?题目大意&#xff1a;N个人围成一圈玩约瑟夫环游戏&#xff0c;不同的是。步长不固定&#xff0c;由前一个出局的人决定。给定K表示起始的人。第i个淘汰的人将获得g(i)个糖果&#xff0c;问说谁获得的糖果最多。g(x)为…

linux c之动态打开链接库(dlopen dlsym dlclose)

1 linux提供了加载和处理动态链接库的系统调用 2 主要函数 1) dlopen、 dlopen以指定模式打开指定的动态连接库文件,并返回一个句柄给调用进程,打开模式如下: RTLD_LAZY 暂缓决定,等有需要时再解出符号 RTLD_NOW 立即决定,返回前解除所有未决定的符号。 2) dlsym、 …

甘肃2019年9月计算机二级报名入口,2019年9月甘肃计算机二级考试成绩查询入口...

【摘要】2019年9月份计算机二级考试已经圆满结束&#xff0c;参加考试的小伙伴们已经迫不及待的想要知道成绩了吧&#xff0c;小编对2019年9月甘肃计算机二级考试成绩查询入口进行了整理&#xff0c;参加9月份考试的朋友们到时候记得按时查询成绩哦&#xff01;想要了解更多计算…

FluentEmail - 适用于 .NET 和 .NET Core 的邮件发送库

简介FluentEmail - 适用于 .NET 和 .NET Core 的邮件发送库从 .NET 和 .NET Core 发送电子邮件的最简单方法。将 Razor 用于电子邮件模板并使用 SendGrid、MailGun、SMTP 等进行发送Nuget包•FluentEmail.Core - 域模型•FluentEmail.Smtp - 通过 SMTP 服务器发送电子邮件•Flu…

基于GLT法的风云三号气象卫星校正

GLT几何校正法利用输入的几何文件生成一个地理位置查找表文件(geographic lookup table,GLT),从该文件中可以了解到某个初始像元在最终输出结果中实际的地理位置。地理位置查找表文件是一个二维图像文件,文件中所包含两个波段:地理校正图像的行和列,文件对应的灰度值表示…

安装MySql出现Error Nr.1045的解决办法

如图&#xff0c;最后一步出现这个错误框 这是因为上次安装过MySql&#xff0c;其用户数据在卸载的时候没有被删除掉&#xff0c;解决办法如下&#xff1a; 显示隐藏的文件夹&#xff0c;打开C盘&#xff0c;找到下图文件删除之 删除之后再安装一遍MySQL&#xff0c;就可以了转…

CentOS下MySQL忘记root密码解决方法【转载】

1&#xff0e;首先确认服务器出于安全的状态&#xff0c;也就是没有人能够任意地连接MySQL数据库。 因为在重新设置MySQL的root密码的期间&#xff0c;MySQL数据库完全出于没有密码保护的 状态下&#xff0c;其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对 外…

MYSQL - php 使用 localhost 无法连接数据库

php 使用 localhost 无法连接数据库&#xff0c;而使用127.0.0.1却能连接成功。 可能原因&#xff1a; 系统hosts文件未提供127.0.0.1到localhost的解析。解决方法&#xff08;以win7系统为例&#xff09;&#xff1a;找到C:&#xff3c;Windows&#xff3c;System32&#xff3…