app开发定制公司nginx配置参数解释

app开发定制公司是一款轻量级的HTTP服务器,app开发定制公司采用事件驱动的异步非app开发定制公司阻塞处理方式框架,app开发定制公司这让其具有极好的IO性能,app开发定制公司时常用于服务端的反向app开发定制公司代理和负载均衡。

Nginx的优点

  • 支持海量高并发:采用IO多路复用epoll。官方测试Nginx能够支持5万并发链接,实际生产环境中可以支撑2-4万并发连接数。
  • 内存消耗少:在主流的服务器中Nginx目前是内存消耗最小的了,比如我们用Nginx+PHP,在3万并发链接下,开启10个Nginx进程消耗150M内存。
  • 免费使用可以商业化:Nginx为开源软件,采用的是2-clause BSD-like协议,可以免费使用,并且可以用于商业。
  • 配置文件简单:网络和程序配置通俗易懂,即使非专业运维也能看懂。

Nginx的安装

wget http://nginx.org/download/nginx-1.22.0.tar.gztar -xzvf nginx-*cd nginx-1.20.2sudo ./configuresudo makesudo make install 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

nginx文件是Nginx的总配置文件,在我们搭建服务器时经常调整的文件。
使用如下命令打开nginx.conf文件

vim /etc/nginx/nginx.conf
  • 1

下面是文件的注释

# 运行用户,默认是nginx,可以不进行设置		user  nginx; #Nginx进程,一般设置和cpu核数一样worker_processes  1;#错误日志存放位置error_log  /var/log/nginx/error.log warn;#进程pid存放位置pid        /var/run/nginx.pid;events {    worker_connections  1024;#单个后台进程的最大并发数}http {    include       /etc/nginx/mime.types;#文件扩展名和类型映射表    default_type  application/octet-stream;#默认的文件类型    #设置日志模式    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                      '$status $body_bytes_sent "$http_referer" '                      '"$http_user_agent" "$http_x_forwarded_for"';    access_log  /var/log/nginx/access.log  main;#nginx访问日志的存放位置    sendfile        off;#是否开启高效传输模式 on开启 off关闭    #tcp_nopush     on;#减少网络报文段的数量    keepalive_timeout  65; #保持连接的时间,也叫超时时间    #gzip  on;#开启gzip压缩模式    include /etc/nginx/conf.d/*.conf;#包含的子配置项的位置和文件}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

配置文件中的内容(包含三部分)
(1)全局块:配置服务器整体运行的配置指令
从配置文件开始到 events 块之间的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令,主要包括配置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,进程 PID 存放路径、日志存放路径和类型以及配置文件的引入等。
比如上面第一行配置的:

worker_processes 1
  • 1

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

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

events {    worker_connections  1024;}
  • 1
  • 2
  • 3

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

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

http {    include       mime.types;    default_type  application/octet-stream;    upstream xxx {        server 192.168.12.166:15083;    }    sendfile        on;    #tcp_nopush     on;    #keepalive_timeout  0;    keepalive_timeout  65;    server {        listen       15080;        server_name  192.168.12.166;        location / {            proxy_pass http://xxx;        }    }    server {        listen       15081;        server_name  192.168.12.166;        location / {            proxy_pass http://xxx;        }    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

①、http 全局块
http 全局块配置的指令包括文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等。
②、server 块
这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。每个 http 块可以包括多个 server 块,而每个 server 块就相当于一个虚拟主机。而每个 server 块也分为全局 server 块,以及可以同时包含多个 locaton 块。

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

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

Nginx常用命令
1、查看 nginx 版本号

./nginx -v
  • 1

2、启动 nginx

./nginx
  • 1

查看是否启动成功:

ps -ef | grep nginx
  • 1

3、停止 nginx

./nginx -s stop
  • 1
  • 2

4、重新加载 nginx

./nginx -s reload
  • 1
网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发