从头开始学Nginx

一、概述

        Nginx是一个反向代理服务器。什么是反向代理?

        反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

        简单的示意图如下。Nginx服务器可以视为一个中介。

                                              客户端   《==》  Nginx服务器  《== 》内部服务器

二、安装

         nginx官方下载:http://nginx.org/en/download.html

         我选择了给windows的稳定版本。

          下载后解压。效果如图所示。

 

三、基本使用

         nginx的基本命令如下。

start  nginx            开启nginx

nginx -s quit          关闭nginx

nginx -s reload      配置文件被修改后,重新部署一下

         怎么玩呢?

         在nginx的目录下,我这里是D:\nginx\nginx-1.14.2,按住Shift,右击选择Open command windows here ,就能在这里快速的打开DOS命令。

          先输入 start nginx。

           然后再浏览器输入:http://localhost:80。出现下面的画面,说明启动成功。

           然后再输入nginx -s quit命令来尝试关闭nginx服务器。

           再次访问http://localhost:80,访问不到。说明成功关闭了nginx服务器。

四、尝试访问本地的静态资源

        nginx服务器的配置文件是:config / nginx.conf 文件。

        我们先来尝试修改server的相关配置。

        server.listen是Nginx服务器的基本端口,server_name是服务器的名字。启动Nginx服务器后,访问localhost:80,就能够访问到Nginx的欢迎页面。

        server.location是我们要学习的核心。location表示反向代理的路径。URL将会用"/"表示root代表的路径。现在root规定的路径是"D:\pic"。所以我在"D:\pic"目录下放了一张美女。启动Nginx服务器后,采用 "server_name/图片名.jpg"的方式,尝试访问本地的图片。

#HTTP服务器
    server {
	#监听80端口,80端口是知名端口号,用于HTTP协议
        listen       80;
	#定义使用localhost访问
        server_name  localhost;

	#编码格式
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

	#反向代理的路径,用“/”表示root规定的路径
        location / {
		   
	    #指向webapp的目录
            root   D:\pic;
	    #首页
            index  index.html index.htm;
        }

       
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

         

         在浏览器访问:http://localhost/MM.jpg,就能访问到这个图片了。当然咯,你的Nginx服务器要开着。修改配置文件后要重启一下或者使用之前说的reload的命令。

五、修改默认端口并指定文件夹

        首先修改server下的配置,把listen改为85,root改为 /NXserver/

server {
        listen       85;
        server_name  127.0.0.1;

       
        location / {
            root   /NXserver/;
            index  index.html index.htm;
        }

        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

        因为我的Nginx安装在D盘,所以我就在D盘上创建一个文件夹NXserver,并放入一个文件2.jpg。如果部署到LINIX下,只需要NXserver文件夹与Nginx服务器安装目录在同一个位置即可。

        

         刷新Nginx服务器

         

          在浏览器访问http://localhost:85/2.jpg,效果如图所示。

六、Nginx与Tomcat实现负载均衡(未写完)

        (1)首先下载两个tomcat,放到Nginx目录下面

        (2)修改分别修改Tomcat的启动端口,分别打开Tomcat的conf目录下的server.xml。共需要修改三处。

  

 

        第二个Tomcat也一样。

        (3)修改TOMCAT的默认启动的JSP。只是为了区别开启的到底是哪个JSP即可。

         启动后看效果

 

        (4)OK,现在我们可以开始配置Nginx来实现负载均衡了,其实非常的简单,只需要配置好Nginx的配置文件即可:

          其实非常简单,就是把location的请求,使用proxy_pass 转发给 biubiubiu.com的upstream。

http {
    include       mime.types;
    default_type  application/octet-stream;
  
    sendfile        on;
   
    keepalive_timeout  65;

    #服务器的集群  
    upstream  biubiubiu.com {  #服务器集群名字   
        server    127.0.0.1:18080  weight=1;#服务器配置   weight是权重的意思,权重越大,分配的概率越大。  
        server    127.0.0.1:28080  weight=2;  
    }     

    #HTTP服务器
    server {
	#监听80端口,80端口是知名端口号,用于HTTP协议
        listen       80;
	#定义使用localhost访问
        server_name  localhost;

	#编码格式
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

	#请求转发给名为biubiubiu.com 的 upstream
        location / {
		   
	    proxy_pass http://biubiubiu.com;  
            proxy_redirect default;  
        }

       
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
	
    }

参考文章:https://www.cnblogs.com/jingmoxukong/p/5945200.html

posted @ 2022-07-17 12:14  小大宇  阅读(39)  评论(0编辑  收藏  举报