zoukankan      html  css  js  c++  java
  • Nginx Web服务应用

    1.Nginx的功能模块说明
    Nginx之所以强大,是因为有众多的模块,下面列出我们常用的模块
    (1) Nginx 核心功能模块负责 Nginx 的全局应用,主要对应主配置文件的 Main 区块和 Events 区块,这里有很多Nginx必须的全局参数配置。
    (2) Nginx 核心功能模块官网:http://nginx.org/en/docs/ngx_core_module.html

     

    2.Nginx标准的http功能模块集合
    下边这些都是标准http功能模块,虽不是Nginx必须的,但是都是很常见,因此,默认情况下都会自动安装的Nginx的软件中心,不建议擅自改动,除非你知道你在干什么。
    生产环境中的配置,调整,优化Nginx都是在这些模块中修改相应的参数来实现。

    ngx_http_core_module                   包括一些核心的 http 参数配置,对应 Nginx 的配置为 HTTP 区块部分
    ngx_http_access_module               访问控制模块,用来控制网站用户对 Nginx 的访问
    ngx_http_gzip_module                   压缩模块,对 Nginx 返回的数据压缩,属于性能优化模块
    ngx_http_fastcgi_module FastCGI 模块,和动态应用相关的模块,如 PHP
    ngx_http_proxy_module proxy       代理模块
    ngx_http_upstream_module          负载均衡模块,可实现网站的负载均衡和节点的健康检查
    ngx_http_rewrite_module URL      地址重写模块
    ngx_http_limit_conn_module        限制用户并发连接数以及请求数的模块
    ngx_http_limit_req_module           根据定义的 key 限制 Nginx 请求过程的速率
    ngx_http_log_module                   访问日志模块,以指定的格式记录 Nginx 客户访问日志等信息
    ngx_http_auth_basic_module Web 认证模块,设置 Web 用户通过账号密码访问 Nginx
    ngx_http_ssl_module ssl              模块,用于加密的 http 连接,如 https
    ngx_http_stub_status_module 记录 Nginx 基本访问状态信息等的模块

    3..Nginx的目录机构说明
    这个是Nginx安装后整体的目录结构,如果我们使用别的途径安装的,这里边会有些许的不一样。

    [root@localhost ~]# /www/server/nginx/conf

    下边是使用tree conf
    ├── conf # Nginx所有配置文件的目录
    │ ├── fastcgi.conf # fastcgi相关参数的配置文件
    │ ├── fastcgi.conf.default # fastcgi.conf的原始备份文件
    │ ├── fastcgi_params # fastcgi的参数文件
    │ ├── fastcgi_params.default # 所有结尾为default的文件都是备份文件
    │ ├── koi-utf
    │ ├── koi-win
    │ ├── mime.types # 媒体类型
    │ ├── mime.types.default
    │ ├── nginx.conf # Nginx主配置文件
    │ ├── nginx.conf.default
    │ ├── scgi_params # scgi相关参数文件
    │ ├── scgi_params.default
    │ ├── uwsgi_params # uwsgi相关参数文件
    │ ├── uwsgi_params.default
    │ └── win-utf
    ├── fastcgi_temp # fastcgi临时数据目录
    ├── html # Nginx默认站点目录
    │ ├── 50x.html # 错误页面优雅替代显示文件,例如当出现502错误时会调用此页面
    │ └── index.html # 默认的首页文件
    ├── logs # Nginx日志目录
    │ ├── access.log # 访问日志文件
    │ ├── error.log # 错误日志文件
    │ └── nginx.pid # pid文件,Nginx进程启动后,会把所有进程的ID号写到此文件
    ├── proxy_temp # 临时目录
    ├── sbin # Nginx命令目录
    │ └── nginx # Nginx的启动命令
    ├── scgi_temp # 临时目录
    └── uwsgi_temp # 临时目录
    注释:MIME:互联网有很多不同的类型,Web服务器会通过web传输的每个对象都打上MIME类型。
    当web服务器相应http响应报文请求时,回味每一个HTTP对象数据加一个MIME类型。
    当web浏览器获取到服务器返回的对象时,回去查看相关的MIME类型,并进行相应处理。

    3.Nginx的主配置文件说明
    Nginx的主配置文件nginx.conf是一个纯文本的文件,位于Nginx安装目录下的conf中,配置文件是以区块的形式组织的。每个区块以{}表示,区块有多个层次,整个配置文件中,main位置最上层,main下边有events区,http区等层级,在http层级中有包含一个或者多个server区,每个server区中有可能有多个或者一个location去。
    主体框架:
    ======================================================
     #Main区块,Nginx核心功能模块
    user nobody # 定义nginx运行的用户和用户组
    worker_processes 1; #Nginx进程数,建议设置为等于CPU总核心数或者2倍的CPU
    error_log logs/error.log;
    注释:日志级别分为debug,info,notice,warn,error,crit。
    debug显示信息最多,常用的error。常见502的频繁出现,可以把日志调成error。
    pid logs/nginx.pid; #进程ID,这个在打开Nginx的时候,会默认生成。
    worker_rlimit_nofile 204800;

    =======================================================

    # events区块,Nginx核心功能模块
    events
    {
    use epoll;

    worker_connections 65535;

    keepalive_timeout 60;

    client_header_buffer_size 4k;

    open_file_cache max=65535 inactive=60s;

    open_file_cache_valid 80s;

    open_file_cache_min_uses 1;
    open_file_cache_errors on;
    }
    这些是常见的一些配置,默认一般不需要修改,在调优的时候可以修改
    =======================================================
    #HTTP区块,Nginx http核心模块

    http
    {
    include mime.types;

    default_type application/octet-stream;

    server_names_hash_bucket_size 512;

    client_header_buffer_size 32k;

    large_client_header_buffers 4 32k;

    client_max_body_size 50m;

    sendfile on;

    autoindex on;

    tcp_nopush on;
    tcp_nodelay on;

    keepalive_timeout 60;

    limit_conn_zone $binary_remote_addr zone=perip:10m;
    limit_conn_zone $server_name zone=perserver:10m;

    server_tokens off;
    access_log off; 

    server
    {
    listen 888;
    server_name www.ceshi.cn;
    index index.html index.htm index.php;
    root /www/server/phpmyadmin;

    location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
    {
    expires 30d;
    }

    location ~ .*.(js|css)?$
    {
    expires 12h;
    }

    location ~ /.
    {
    deny all;
    }

    access_log /www/wwwlogs/access.log;
    }
    include /www/server/panel/vhost/nginx/*.conf;
    }

    此处只是列出个常见的配置情况,在一般企业中,还会有多主机配置,以及负载均衡配置。我会在接下来工作中写出

  • 相关阅读:
    jQuery选择器
    安装ASP.NET4.0
    自动换行的布局
    一个封装不错的 TcpClient 类
    goland 中国 caisy qq Czx123456
    由于google被墙, 一些go语言包不能下载, 可以通过Chome浏览器到这个网址下载
    在Windows 操作系统中, MySql 如何设置, 允许表名支持大小写
    websocket 的客户端 websocket-sharp
    将一个C++的AES加密算法(有向量的)翻译成C#
    AES 加密问题
  • 原文地址:https://www.cnblogs.com/yunweis/p/8037410.html
Copyright © 2011-2022 走看看