本文共 2982 字,大约阅读时间需要 9 分钟。
Nginx(engine x)是一款高性能的Web服务器和反向代理服务器,也支持IMAP/POP3/SMTP协议。由俄罗斯开发者Igor Sysoev于2002年首次发布,经过多年发展,成为全球最受欢迎的Web服务器之一,拥有超过2220万个活跃网站,占用率达12.18%。
Nginx的核心优势包括:
Nginx的配置文件分为多个层级结构,主要包括以下几部分:
以下是一个典型的Nginx配置示例:
user nobody;worker_processes 1;error_log logs/error.log;sendfile on;keepalive_timeout 65;http { include mime.types; default_type application/octet-stream; sendfile on; server { listen 80; server_name localhost; root html; index index.html index.htm; location / { proxy_pass http://backend; proxy_set_header Host $host:$server_port; proxy_set_header X-Forwarded-For $remote_addr; } }} 0.0.0.0:80。location块的URI匹配规则分为以下几种:
location /test.html,只能匹配/test.html。location ^~ /images/,匹配以/images/开头的路径。~:区分大小写的正则匹配。~*:不区分大小写的正则匹配。location /,匹配所有请求。location块的匹配规则由优先级决定,优先级从高到低为:
=^~/Nginx可以作为静态资源服务器,适合部署静态网站或资源库。
配置示例:
http { server { listen 80; server_name localhost; root /usr/local/var/html; index index.html index.htm; }} 将动态资源和静态资源分离,常用于前端资源管理。
配置示例:
http { server { listen 80; server_name localhost; set $doc_root /usr/local/var; location / { proxy_pass http://backend; } location ^~ /images/ { root $doc_root; } location ~* \.(gif|jpg|jpeg|png|bmp) { root $doc_root/img; } }} Nginx作为反向代理,代理内部服务器接收外部请求。
配置示例:
http { server { listen 80; server_name localhost; proxy_pass http://backend; proxy_set_header Host $host:$server_port; proxy_set_header X-Forwarded-For $remote_addr; }} Nginx支持多种负载均衡算法,如RR、IP hash、fair等。
配置示例(RR轮询):
http { upstream backend { server localhost:8081; server localhost:8082; } server { listen 80; server_name localhost; proxy_pass http://backend; proxy_set_header Host $host:$server_port; }} 返回HTTP状态码和重定向URL。
示例:
location /permanently/moved/url { return 301 http://www.example.com/moved/here;} 多次修改URI请求。
示例:
location /users/ { rewrite ^/users/(.*)$ /show?user=$1 break;} 自定义错误页面。
示例:
error_page 404 /404.html;
禁止访问特定路径。
示例:
location ~* \.(txt|doc) { deny all;} Nginx支持多种内置变量,可用于配置文件中,例如:
$remote_addr:客户端IP地址$request_uri:请求URI$document_root:根目录路径$scheme:请求协议(http/https)通过以上配置示例和指令介绍,可以更好地理解Nginx的高级功能及其应用场景。
转载地址:http://tecfk.baihongyu.com/