Nginx反向代理服务器的配置

最近研究分布式的架构, 涉及到了Nginx服务器, Nginx服务也叫反向代理服务器, 是一个高性能的HTTP和反向代理服务器, 支持众多的操作系统, 例如windows, Linux, MacOS X等; 可以实现负载均衡, Rewrite功能强大, 现阶段的电商架构大部分都是采用Nginx+ Tomcat的架构; 那么无法避免就有个问题那就是什么是反向代理呢? 其实反向代理(Reverse Proxy)是指以代理服务器来接收internet上的连接请求, 然后将请求转发给内部网络上的服务器, 并将从服务器上得到的处理结果返回给internet上请求连接的客户端; 这种概念就叫反向代理服务; 那么进入Nginx的安装目录中可以直接打开cmd窗口, 有三个很重要的 操作命令: start nginx(启动)  nginx -s stop(停止服务器), nginx -s reload(重启); 注意启动之后能能看到两个进程才是正常启动:

Nginx反向代理服务器的配置_第1张图片

如果启动报错,查看日志文件发现80端口被占用;可以使用命令netstat -ano命令查看端口占用情况。再打开任务管理器,查看pid然后停止程序即可。netstat -ano|findstr "80"

在Nginx中的conf目录中有一个核心配置文件nginx.conf, 内部配置直接上图:

Nginx反向代理服务器的配置_第2张图片

完整配置:

#进程数
worker_processes  1;
#一个进程可以处理多少个连接worker_processes * worker_connections
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    
    sendfile        on;
    
    gzip  on;    
    server_tokens   off;

    server {
        listen       80;
        server_name  admin.taotao.com;

        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        location / {
            proxy_pass http://127.0.0.1:9091;
            proxy_connect_timeout 600;
            proxy_read_timeout 600;
        } 
   }
}

其中server是配置多个域名的关键, 当有多台服务器的时候, 就可以直接配置多个server; 对配置文件进行改动后, 必须要重新启动Nginx服务器, 使用nginx -s reload命令在cmd控制台重新启动一次, 如果重启服务器后发现仍没有效果, 那么清理下浏览器缓存试试看, 很有可能是浏览器缓存导致的; 

 

 

你可能感兴趣的:(Nginx反向代理服务器的配置)