乐趣区

关于nginx:一nginx入门Nginx-的安装和配置指南

Nginx 是一台高性能 Web 服务器,它应用了非常少的系统资源。

一、装置
1、装置 centos 中装置 ngnix

1、应用 rpm 来装置
sudo yum install nginx

2、编译二进制版本来装置
sudo vi /etc/yum.repos.d/nginx.repo
执行装置
sudo yum install nginx

二、配置指南

根本配置格局。
Nginx 全局配置参数
应用 include 文件。
HTTP 的 server 局部
虚构服务器局部。
location 一一-where, when, how
mail 的 serer 局部。
残缺的示例配置文件。

1、Nginx 全局配置参数

全局配置:就是设置对整个 ngnix 所有中央都失效的配置

例:

user  nobody;    #配置用户和组
worker_processes  1; #容许生成的过程数,默认为 1 

error_log  logs/error.log;        #谬误日志门路。error_log  logs/error.log  notice; #谬误日志门路,告诉级别。error_log  logs/error.log  info;    #谬误日志门路,信息级别。error_log  logs/error.log  debug;    #谬误日志门路,debug 级别批改编译时进行配置。pid        logs/nginx.pid;  #指定 nginx 过程运行文件寄存地址 

events {
    use  /dev/proll  #事件驱动模型 select|poll|kqueue|epoll|resig
    worker_connections  1024; #最大连接数,默认为 512
}

2、应用 include 文件。

http {
    include       mime.types;   #文件扩展名与文件类型映射表
    server
    {}}

mime.types 文件内容

types {
    text/html                                        html htm shtml;
    text/css                                         css;
    text/xml                                         xml;
    等等
    }

3、HTTP 的 server 局部

1、客户端指令
2、文件 I / O 指令:
3、Hash 指令:为变量分配内存
4、socket 指令:

4、虚构服务器局部

任何由关键字 server 开始的局部都被称作“虚拟机服务器”局部,server 的作用是依据不同的 server_name 指令逻辑宰割资源,listen 指定具体的 IP 地址 / 端口组合或者 Unix 域套接字门路:
例:

listen address[:port] 
listen port
listen unix:path;

5、Locations-where,when,how

location 指令能够用于 server 局部,用于对匹配的 url 进行重定向、访问控制等。

= 精准匹配并终止搜寻
~ 辨别大小写
~* 不辨别大小写
^~ 最佳匹配,对匹配的不在进行上面的匹配了优先级高于正则表达式

残缺示例:

全局配置

user www; //worker 过程的用户和组
worker_processes 12; // 启用的过程
error_log /var/log/nginx/error.log; // 记录谬误的级别 debug info notice warn error、crit alert emerg
pid /var/run/nginx . pid; // 记录主过程 id 的文件

events {
    use /dev/poll;
    worker_connections  2048;
    }
http {
    include    /opt/local/etc/ng nx/mime.types;   #文件扩展名与文件类型映射表
    default_type    application/octet-stream;   #指定默认解决的文件类型能够是二进制
    sendfile on;    #容许文件复制
    tcp_push on ;    #它可能使得 Nginx 个数据包中尝试发送响应头以及在数据包中发送 个残缺的文件,配合 sendfile on; 应用
    tcp_nodelay on;    #启用或者禁用 TCP NODELAY 选项,用于 keep-alive 连贯
    keepalive_timeout 65;    #该指令指定 keep-alive 连贯继续多久 个参数也能够设置,用于在响应头中设置“keepalive”头
    server_names_hash_max_size 1024 ;    #该指令指定 server_name 散列表的最大大小
    
    server {            #则应用 default_server. 如果没有指定 default_server, 则会抉择第一个可用的 server. 咱们能够指定对于没有匹配的 host 值时, 返回谬误到客户端. 能够用来避免他人把垃圾流量转到你的网站。listen 80 ;        #指定端口
        return 444;        
    }
    
    server {
        listen 80 ;
        server_name www.example.com;    #指令逻辑宰割的资源
        location / {
            try_ files $uri $uri/ @mongrel;   #此处示意会匹配 / 目录下的所有文件进行解决而后返回给 / url 示意其余 1. 文件 /opt/html/images/test.gif   2. 文件夹 /opt/html/images/test.gif/ 下的 index 文件  3. 申请 127.0.0.1/images/default.gif 4. 其余注意事项  1.try-files 如果不写上 $uri/,当间接拜访一个目录门路时,并不会去匹配目录下的索引页  即 拜访 127.0.0.1/images/ 不会去拜访  127.0.0.1/images/index.html 
        location @mongrel {        #如果匹配不上的 url 就应用这个
            proxy_pass http : //127.0.0.1:8080;     
        }
    }
}
退出移动版