目录

一、Nginx常用命令

二、Nginx的配置文件

2.1 全局块

2.2 events块

2.3 Http块

2.3.1 http全局块

2.3.2 server块


一、Nginx常用命令

注:使用Nginx的命令时首先得切换到Nginx的目录下(/usr/local/nginx/sbin)。

cd /usr/local/nginx/sbin

(1) 查看Nginx版本号。

[root@localhost sbin]# ./nginx -v
nginx version: nginx/1.18.0

(2)启动Nginx

[root@localhost sbin]# ./nginx                             //启动
[root@localhost sbin]# ps -ef | grep nginx                 //这个命令是查看进程
root      22545      1  0 04:49 ?        00:00:00 nginx: master process ./nginx
nobody    22546  22545  0 04:49 ?        00:00:00 nginx: worker process
root      22548  22428  0 04:49 pts/0    00:00:00 grep --color=auto nginx

(3)关闭Nginx

[root@localhost sbin]# ./nginx -s stop                        //关闭Nginx
[root@localhost sbin]# ps -ef | grep nginx
root      22582  22428  0 04:50 pts/0    00:00:00 grep --color=auto nginx

(4)重新加载Nginx

[root@localhost sbin]# ./nginx -s reload

二、Nginx的配置文件

首先需要知道Nginx的配置文件在/usr/local/nginx/conf/nginx.conf后续对 nginx 的使用基本上都是对此配置文件进行相应的修改,所以位置大家一定要记好。

[root@localhost sbin]# cd /usr/local/nginx/conf

这个配置文件看起来有很多,但是大多都为注释行,我们使用正则表达式进行过滤之后,就可以看到内容其实并不算多,主要可以分为3个大类:

[root@localhost conf]# grep -Ev "^$|#" nginx.conf      //过滤掉注释行和空行
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

正则表达式:

  • -E:使用正则表达式匹配
  • -v:剔除匹配到的选项
  • ^:开头匹配
  • $:$代表行尾,^$即开头为结尾的行,即空行
  • ^#:表示#开头的行,即注释行

2.1 全局块

从配置文件开始到events块之间,都是全局块,主要会影响Nginx服务器整体运行的配置指令,主要包括配置运行Nginx服务器的用户(组)、允许生成的worker process数,进程PID存放路径、日志存放路径和类型以及配置文件的引入等。

worker_processes  1;

这是Nginx服务器并发处理服务的关键配置,worker_processes值越大,可以支持的并发处理数量也越多,但是会受到硬件、软件设备的制约。 

2.2 events块

events块涉及的主要指令影响Nginx服务器与用户的网络连接,常用的设置包括是否开启对多work processes下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个word process可以同时支持的最大连接数等。

events {
    worker_connections  1024;
}

 上述例子就表示每个work process支持的最大连接数为1024。这部分配置对Nginx的性能影响较大,在实际中应该灵活配置。

2.3 Http块

这部分是Nginx服务器中配置最频繁的部分,代理、缓存和日志定义等绝大数功能和第三方模块的配置都在这里。需要注意的是:http块包括:http全局块、server块。

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

2.3.1 http全局块

http全局块配置的直连包括文件引入、MIME-TYPE定义、日志自定义、连接超时时间、单链接请求数上限等。

2.3.2 server块

这块和虚拟主机有密切关系,虚拟主机从用户角度来看和一台物理主机完全是一样的,该技术的产生是为了节省互联网服务器的硬件资源。每个http块可以包含多个server块,而每个server块就相当于一个虚拟主机。每个server块又分为全局server块,以及可以同时包含多个location块。

【1】全局server块

最常见的配置是本虚拟机主机的监听配置和本虚拟机主机的名称或IP配置。

【2】location块

一个server块可以配置多个location块。这块的主要作用是基于Nginx服务器接收到的请求字符串(例如:server_name/uri-string),对虚拟主机名称(也可以是IP别名)之外的字符串(例如:前面的 /uri-string)进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等功能,还有许多第三方配置也在这里进行。

 posted on 2021-04-03 10:45  嚴∞帅  阅读(51)  评论(0编辑  收藏  举报