nginx配置文件主要分为六个区域:main section、events section、http section、sever section、location section、upstream section。

以下为Nginx的主要配置

#main module配置

use nobody;  #设置运行用户

worker_processes 1;    #设置启动进程,通常设置成cpu数量相当

error_log  logs/error.log;  #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]

pid  logs/nginx.pid;    #进程文件

#event module配置

events{

  use   epoll;        #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于Linux2.6以上内核,可以大大提高nginx的性能

  worker_connections 1024   #单个worker process进程最大并发连接数

}

#http module配置

http{

include  mine.types;     #设置mime类型

default_type  application/octet-stream;

access_log  logs/access.log;   #设置访问日志

sendfile on;    #表示调用sendfile函数输出文件,对于普通应用必须设置为on,若用来进行下载等高IO负荷的应用则设置为off,

平衡以平衡磁盘与网络I/O处理速度,降低系统的uptime.

Keepalive_timeout 65;  #设置连接超时65s

gzip on;    #开启gzip压缩输出

gzip_types      text/plain application/x-javascript text/css application/xml;  #压缩类型,默认包含text/html

  #server module配置

#做为服务器时虚拟主机相关配置

Server{

listen  80;    #监听端口

server_name www.xxx.com;  #主机名

access_log logs/xxx.com.access.log;  #此虚拟主机访问日志

#设置默认请求

location ~ {

root  /wwwroot;  #定义站点根目录地址

index  index.php  index index.aspx  index.html  #站点默认文档名

}

#定义错误提示页面

error_page  400  /400.html;

error_page  500 502 503  /50x.html;

}

#做为反向代理服务器时,且实现负载均衡配置

#负载均衡配置,其中weight是权重,至越大,被分配的几率越大

#upstream module配置

upstream backserver {

#说明:若配置为以下方式,一定要保证网站可以通过IP地址方式能正常访问,如 http://192.168.1.10/

server 192.168.1.10:80 weight=1;

server 192.168.1.11:80 weight=2;

server 192.168.1.12:80 weight=2;

}

#代理服务器配置

Server{

listen  80;    #监听端口

  server_name www.xxx.com;  #主机名

  access_log logs/xxx.com.access.log;  #此虚拟主机访问日志

  #设置默认请求

  location ~ {

      proxy_pass        backserver http://backserver;
               
       proxy_set_header   Host      
      $host;
               
       proxy_set_header   X-Real-IP    
   $remote_addr;
               
       proxy_set_header   X-Forwarded-For
 $proxy_add_x_forwarded_for;

}

}

在浏览器中访问www.xxx.com时,Nginx会根据upstream中的服务列表进行再次请求,并将最终的数据返回给浏览器。

最新文章

  1. MySQL 保留字
  2. android 消息机制
  3. BZOJ4032 : [HEOI2015]最短不公共子串
  4. 【LeetCode】242 - Valid Anagram
  5. 缺少编译器要求的成员“System.Runtime.CompilerServices.ExtensionAttribute..ctor” 解决方案
  6. WCF - Overview
  7. (转) Android平台上关于IM的实践总结
  8. next数组
  9. Spring(三)之自动装配、表达式
  10. 实验吧_密码忘记了(vim编辑器+代码审计)&天网管理系统(php弱比较+反序列化)
  11. 手把手教你使用 netlify 实现前端的 自动部署 + HTTPS
  12. Python 视频转字符画 - 进阶
  13. @Autowired和@Resource注解的一个意外重要区别
  14. mysql 查询数据中文乱码
  15. 本学期C#学习个人总结
  16. .Net 登陆的时候添加验证码
  17. github下载更新代码到本地
  18. InstallShield 静默安装
  19. 【原创】运维基础之Ansible(2)离线安装
  20. iOS 多语言的实现(本地化和国际化)

热门文章

  1. 表格行mouse经过时高亮显示
  2. Docker 为 ASP.NET Core Web 应用程序生成 Docker 映像,创建并运行多个容器
  3. Cookies读写
  4. PHP DDos的几个防御方法详解
  5. Vue:模板&渲染函数学习
  6. python基础技巧综合训练题1
  7. python学习之老男孩python全栈第九期_day004作业
  8. Function,Object.creat();
  9. python的小数据池 is和== 以及再谈编码
  10. BZOJ2337: [HNOI2011]XOR和路径(期望 高斯消元)