NGINX基本模块与配置
程序员文章站
2022-03-25 14:31:16
...
一、NGINX内置的基本模块
该模块用于控制NGINX服务器的基本功能
该模块主要用于控制NGINX如何处理连接,该模块的一些指令参数会对应用程序的性能产生重要影响,因此设置时需要慎重
该模块实现了NGINX服务器对HTTP服务的处理功能,这可能是普通开发人员打交道最多的一个模块
1、NGINX内核模块
2、EVENTS模块
3、HTTP核心模块
二、NGINX基本配置文件
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include 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 logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } }
三、NGINX内核模块
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid;
该模块用于控制NGINX服务器的基本功能
三、EVENT模块
events { worker_connections 1024; }
该模块主要用于控制NGINX如何处理连接,该模块的一些指令参数会对应用程序的性能产生重要影响,因此设置时需要慎重
四、HTTP核心模块
http { ... }
该模块实现了NGINX服务器对HTTP服务的处理功能,这可能是普通开发人员打交道最多的一个模块
1、基本指令
http { server { ... } }
server:用于配置虚拟主机,一个http代码段中,可以包含多个server指令,配置多个虚拟主机
http { upstream mysvr { server 192.168.8.1x:80 weight=5; server 192.168.8.2x:80 weight=1; server 192.168.8.3x:80 weight=6; } server { ... location / { proxy_pass http://mysvr } ... } }
upstream:NGINX负载均衡
2、NGINX如何选择SERVER虚拟主机
NGINX将进入的HTTP请求头与NGINX配置文件中各个server区段比较,并且选择第一个被匹配的server区段
匹配过程按如下流程处理:
1、全域名,静态域名匹配
2、开始部分使用通配符的域名,如:*.xxx.com
3、结尾部分使用通配符的域名,如:www.xxx.*
4、带有正则表达式的域名
如果还没有找到匹配的域名,继续按下面的顺序在配置文件中选择一个server:
1、匹配listen指令被标记为[default|default_server]的区段
2、匹配listen指令(或隐含有listen 80)的第一个server区段
以上就介绍了NGINX基本模块与配置,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。