Nginx配置详细说明以及案例
2025-03-06
3
Nginx配置详细说明
Nginx的配置文件通常位于 /etc/nginx/nginx.conf
或 /etc/nginx/conf.d/
目录下。配置文件由多个块组成,主要包括全局块、events块、http块、server块和location块。
全局块:配置影响Nginx全局的指令,如用户、工作进程数、错误日志等。
user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid;
events块:配置影响Nginx服务器与客户端网络连接的指令,如最大连接数、连接处理方式等。
events { worker_connections 1024; use epoll; }
http块:配置HTTP服务器的主要部分,包括MIME类型、日志格式、默认类型等。
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; sendfile on; keepalive_timeout 65; }
server块:配置虚拟主机的相关参数,如监听端口、服务器名称、根目录等。
server { listen 80; server_name example.com; root /var/www/html; index index.html index.htm; }
location块:配置请求的路由规则,如URL匹配、代理、重定向等。
location / { try_files $uri $uri/ =404; } location /api/ { proxy_pass http://backend_server; }
Nginx配置案例
以下是一个简单的Nginx配置案例,用于配置一个静态网站和一个API代理。
user nginx; worker_processes auto; error_log /var/log/nginx/error.log; 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; sendfile on; keepalive_timeout 65; server { listen 80; server_name example.com; root /var/www/html; index index.html index.htm; location / { try_files $uri $uri/ =404; } location /api/ { proxy_pass http://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } }
解释
全局块:配置了Nginx的用户、工作进程数、错误日志和PID文件。
events块:配置了最大连接数和使用的连接处理方式。
http块:配置了MIME类型、日志格式、默认类型、访问日志、sendfile和keepalive超时。
server块:配置了一个监听80端口的虚拟主机,服务器名称为
example.com
,根目录为/var/www/html
,默认文件为index.html
和index.htm
。location块:
/
:尝试匹配请求的URI,如果找不到文件则返回404。/api/
:将请求代理到backend_server
,并设置了一些代理头。
这个配置可以用于托管一个静态网站,并将所有以/api/
开头的请求代理到后端服务器。
本篇文章内容来源于:Nginx配置详细说明以及案例
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。