Nginx的下载安装与配置

Nginx简单介绍

Nginx(发音为 “Engine-X”)是一款高性能的 HTTP 和反向代理服务器,同时也可以作为一个负载均衡器、HTTP 缓存以及邮件代理服务器。它最初由 Igor Sysoev 开发,并于 2004 年发布,主要用于高性能的网站服务。现在,Nginx 被广泛用于各种规模的 Web 应用和服务,尤其在高流量、需要高并发的场景中表现优异。

反向代理是服务器端的中间代理,代理服务器代表 服务器端 向客户端提供服务。反向代理将客户端请求转发到多个内部服务器处理,客户端无法直接访问到后端服务器。反向代理的主要作用是 隐藏服务器的真实身份,并 进行负载均衡、缓存、SSL 终结等优化。
在这里插入图片描述

1.下载使用:

官网下载(最好下载stable版本,如果有需要legacy版本请自行斟酌
),解压启动nginx.exe即可

2.无法启动:

(1)确保安装路径无中文
(2)确保端口没有被占用
(3)前面如果都排除了,查看安装包logs目录下的error.log查看问题

3.配置文件(前后端分离)

(1)应用场景:

将前端(Nginx 管理)放到了 服务器 A,后端放到了 服务器 B。需要修改 Nginx 配置文件,以便正确地代理请求到服务器 B。

(2)conf文件需要修改的部分:

主要涉及以下几个部分:

  1. 修改 server 配置中的 proxy_pass 地址
    需要将反向代理的 proxy_pass 地址修改为指向服务器 B 的后端服务,而不是 127.0.0.1 或其他本地地址。

  2. 确保 listenserver_name 配置正确
    需要确保 Nginx 在服务器 A 上正确监听端口,并且能够处理来自客户端的请求。

修改后的 Nginx 配置:
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/json;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       8080;  # 服务器 A 监听 8080 端口
        server_name  localhost;  # 根据需要修改为你的域名或 IP 地址

        # 前端静态文件配置
        location / {
            root   /path/to/frontend/directory;  # 修改为前端项目在服务器 A 上的路径(这是NGINX相对路径,一般写html)
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /path/to/error/page;  # 错误页面路径
        }

        # 反向代理到后端服务器 B(假设后端服务在服务器 B 上运行)
        location /api {  
            default_type  application/json;
            keepalive_timeout   30s;
            keepalive_requests  1000;
            proxy_http_version 1.1;
            proxy_pass_request_headers on;
            proxy_next_upstream error timeout;
            
            # 修改为指向服务器 B 的后端地址
            proxy_pass http://<服务器B的IP>:<后端端口>;  # 修改为服务器 B 的实际 IP 和端口,例如 http://192.168.1.2:8081
            
            # 如果后端地址使用域名,可以使用:
            # proxy_pass http://backend;  # 配置一个 upstream 来定义服务器 B 的负载均衡等
        }
    }

    # 后端服务器 B 配置(如果需要多个后端服务器,可以在这里定义负载均衡)
    upstream backend {
        server <服务器B的IP>:<后端端口>;  # 可以列出多个后端服务器进行负载均衡
        #server <服务器B的IP>:<后端端口2>;
        #server <服务器C的IP>:<后端端口>;
    }
}

(3)其他问题:

确保服务器 B 的防火墙和网络设置允许从服务器 A 访问

需要确认服务器 A 和服务器 B 之间的网络连接没有被防火墙阻挡,尤其是确保服务器 B 上的 8081 端口是开放的,并允许来自服务器 A 的访问。

配置跨域请求(如果需要)

前端和后端分别部署在不同的服务器上,可能会遇到跨域问题。
确认后端服务是否正确配置(如反向代理)
确保后端服务的配置也支持跨服务器请求。后端服务应正确处理请求头,特别是 X-Forwarded-For 和 X-Forwarded-Proto,这些头通常由 Nginx 作为反向代理传递给后端服务。你可以在后端服务器的代码中查看是否需要处理这些头信息。

检查日志

在配置好后,检查 Nginx 和后端服务器的日志文件,确保请求顺利从服务器 A 转发到服务器 B,并且没有发生错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值