Nginx配置文件详解

Nginx配置文件详解

模块分类

主要由main、events、http、server、location这五块组成。

  1. main块。配置一些影响整体运行参数。
  2. events块。配置和服务器性能相关的参数。
  3. http块。包含server模块,location模块。可以嵌套多个server,配置代理、缓存、日志等大部分功能。
  4. server块。可以嵌套多个location块。配置虚拟主机相关参数。
  5. location块。配置请求路由,各页面的处理情况。

参数详解

主模块:
user nginx nginx; 运行的用户和用户组
worker_processes 8; nginx启用的进程数,和CPU的核数一样即可。
error_log /usr/local/nginx/logs/error.log info; 错误日志的位置和级别。
pid /usr/local/nginx/logs/nginx.pid; 进程pid文件的位置。
worker_rlimit_nofile 65535; 如果不指定,默认和ulimit -n一样。
include /usr/share/nginx/modules/.conf; 加载的动态模块。
事件模块:
accept_mutex on; 打开防止惊群
multi_accept on; 一个进程可以接受多个网络连接。
use epoll; 公认性能最高的驱动模式。
worker_connections 1024; 单个进程最大连接数。
http模块:
include mime.types; 文件扩展名与文件类型映射表。根据它判断文件类型并写入Content-Type发给客户端。default_type application/octet-stream; 默认文件类型,默认为text/plain
charset utf-8; 默认编码
log_format main ‘$http_host $server_addr r e m o t e a d d r [ remote_addr [ remoteaddr[time_local] “$request” $status $request_body b o d y b y t e s s e n t " body_bytes_sent " bodybytessent"http_referer" “$http_user_agent” $request_time $upstream_response_time’; 设置日志格式。
access_log /var/log/nginx/access.log main; 访问日志路径
sendfile on; 开启高效传输
tcp_nopush on; 和sendfile一起使用,提高效率。
tcp_nodelay on;提高io传输效率。
sendfile_max_chunk 100k; 每个进程每次输出上线。
types_hash_max_size 2048; 为了快速设置静态数据集。
keepalive_timeout 65; 长连接超时时间。
include /etc/nginx/conf.d/
.conf; 加载模块化配置文件。
server模块:
listen 80; 服务器监听80端口
server_name www.jd.com jd.com; 域名
root /usr/share/nginx/html; 站点根目录,网站程序存放处。
include /etc/nginx/default.d/*.conf; 默认服务器加载配置文件。
error_page 500 502 503 504 /50x.html; 遇到500,502等错误重定向到/50x.html文件
location模块:
proxy_pass http://localhost:8888; 请求转向的服务器,用反向代理。
deny 127.0.0.1; #拒绝的ip
allow 172.18.5.54; #允许的ip
root html; #站点根目录
index html.index; #设置默认页

配置文件示例

worker_processes  4;
error_log  logs/error.log  notice;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;

    keepalive_timeout  65;
   server {
        listen       8861;
        server_name  abc.com;

        location / {
            proxy_pass  http://localhost:8888;
        }
    }              
   server {
        listen       8861;
        server_name  abcd.com;

        location / {
            proxy_pass  http://www.baidu.com;
        }
    }

}

参考

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值