参考资料

  1. nginx 查看配置文件
  2. Nginx如何用于反向代理?
  3. WSGI(Web Server Gateway Interface,Web 服务网关接口)详细说明以及案例
  4. Nginx集群配置详细说明以及案例
  5. Nginx负载均衡策略详细说明以及案例
  6. Nginx stream模块详细说明以及案例
  7. 如何查看nginx主配置文件路径方式
  8. 如何验证Nginx配置是否生效?

Nginx支持动态内容主要通过反向代理和FastCGI两种方式实现:

  1. 反向代理方式(以Node.js为例):

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:3000; # 后端应用服务器地址
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
  1. FastCGI方式(以PHP为例):

server {
    listen 80;
    server_name example.com;

    root /var/www/html;
    index index.php;

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
  1. 其他动态语言支持:

  • Python (uWSGI):

location / {
    include uwsgi_params;
    uwsgi_pass unix:/tmp/uwsgi.sock;
}
  • Ruby (Passenger):

passenger_enabled on;
passenger_ruby /usr/bin/ruby;

关键配置说明:

  1. proxy_pass:将请求转发到后端应用服务器

  2. fastcgi_pass:通过FastCGI协议与PHP处理器通信

  3. uwsgi_pass:与Python应用服务器通信

  4. 需要确保Nginx能访问到后端服务(通过socket或TCP端口)