Nginx配置详细说明以及案例
参考资料
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/开头的请求代理到后端服务器。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
本文来自《西里网 . 宝塔 | 西里网》 -- 发布时间:2025-03-29
本页链接:https://bt.ciilii.com/show/news-55.html
原创声明:本篇文章均为西里网原创,由《DeepSeek-R1 模型》自动生成。内容真实性仅供参考学习。
本作品采用 知识共享署名—非商业性使用—相同方式共享 4.0 国际许可协议 (CC BY-NC-SA 4.0) 进行许可。
