nginx 配置文件详解
时间: 2023-09-12 16:04:13 浏览: 63
Nginx的配置文件主要是由以下几个部分组成:
1. 全局块
2. events块
3. http块
4. server块
5. location块
下面对每个部分进行详细介绍:
1. 全局块:这个块是指整个nginx配置文件的全局配置,包括一些基本配置,如工作进程数、日志文件位置、运行权限等。
示例:
```
user www-data;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 1024;
multi_accept on;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_tokens off;
server_names_hash_bucket_size 64;
client_max_body_size 100m;
include /etc/nginx/conf.d/*.conf;
}
```
2. events块:这个块是指Nginx的事件模型配置,包括如何处理连接、如何处理I/O等。
示例:
```
events {
worker_connections 1024;
multi_accept on;
}
```
3. http块:这个块是指HTTP协议相关的配置,包括如何处理请求、如何处理响应、如何缓存等。
示例:
```
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_tokens off;
server_names_hash_bucket_size 64;
client_max_body_size 100m;
include /etc/nginx/conf.d/*.conf;
}
```
4. server块:这个块是指一个虚拟主机的配置,包括监听的端口、域名、SSL证书等。
示例:
```
server {
listen 80;
server_name example.com;
root /var/www/example.com;
location / {
index index.html;
}
location /images/ {
expires 1h;
}
location /downloads/ {
internal;
}
}
```
5. location块:这个块是指一个特定资源的配置,包括如何处理这个资源,如何缓存等。
示例:
```
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
```
以上是nginx的基本配置文件结构和示例,你可以根据自己的需求来进行相应的配置。