5-nginx配置一

1. nginx配置系统介绍

nginx的配置系统由一个主配置文件和一些辅助配置文件构成, 这些配置文件默认在 /usr/local/nginx/ 目录下。nginx的配置系统由一个主配置文件和其他一些辅助的配置文件构成。 这些配置文件均是纯文本文件, 全部位于nginx安装目录下的conf目录下。

配置文件中以#开始的行, 或者是前面有若干空格或者TAB, 然后再跟#的行, 都被认为是注释, 也就是只对编辑查看文件的用户有意义, 程序在读取这些注释行的时候, 其实际的内容是被忽略的。

由于除主配置文件nginx.conf以外的文件都是在某些情况下才使用的, 而只有主配置文件是在任何情况下都被使用的。 所以在这里我们就以主配置文件为例, 来解释nginx的配置系统。

2. 主配置文件nginx.conf

nginx默认是安装到/usr/local下,在nginx的conf目录下有个主配置文件nginx.conf,该配置文件主要由四部分组成:

  1. main(全局配置)
  2. server(主机配置)
  3. upstream(负载均衡服务器配置)
  4. 和location(URL匹配特定位置配置)

3. 全局配置

#定义worker进程运行的用户和用户组
#user  nobody;

#nginx进程数,建议设置为等于CPU总核心数。
worker_processes  1;

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

#存放nginx进程pid的文件
#pid        logs/nginx.pid;

#一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx进程数相除,但是nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。
#worker_rlimit_nofile 65535;

4. 事件配置

#工作模式与连接数上限,事件处理
events {
    #参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。
#use epoll;
#单个进程最大连接数(最大连接数=连接数*进程数),理论上最高可设置65535,但一般不建议设置这么高
    worker_connections  1024;
}

5. http服务器配置

#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
#设定mime类型,类型由mime.type文件定义
include       mime.types;
#默认文件类型
    default_type  application/octet-stream;

#日志格式相关定义,main表示日志格式
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

# 定义日志的格式。后面定义要输出的内容
# $remote_addr与$http_x_forwarded_for用以记录客户端的ip地址;
# $remote_user:用来记录客户端用户名称;
# $time_local: 用来记录访问时间与时区;
# $request: 用来记录请求的url与http协议;
# $status: 用来记录请求状态;成功是200,
# $body_bytes_sent :记录发送给客户端文件主体内容大小;
# $http_referer:用来记录从那个页面链接访问过来的;
# $http_user_agent:记录客户浏览器的相关信息;

#用了log_format指令指定了日志格式之后,指定日志文件的存放路径,指定的日志格式main放在最后
#access_log  logs/access.log  main;

#开启高效传输模式。
sendfile        on;

#防止网络阻塞,此选项允许或禁止使用socke的TCP_CORK的选项,此选项仅在使用sendfile的时候使用
    #tcp_nopush     on;

    #keepalive超时时间
keepalive_timeout  65;

#开启gzip压缩输出
    #gzip  on;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值