nginx的学习

2020-07-28

目录

0、问题产生和解决

1、为什么nginx反向代理到tomcat中,会产生404或者产生跨越问题?如何解决

答:产生404错误的时候,使用如下配置可解决

worker_processes  2;

events {

    worker_connections  2048; 
}



http {
  
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;
    
    
    upstream server_lb{           
        server 127.0.0.1:8081;
    }
    

    server {
        listen       80;
        server_name  www.123.com;  #这里的www.123.com通过设置hosts文件,相当于访问www.123.com会访问到本机。
        

        location / {
            root html;
            proxy_pass  http://server_lb;  #这里相当于使用上面的upstream server_lb这一段
  index index.jsp index.html index.htm; } } }

 

 

 

一、nginx基本概念

nginx在linux中的安装:参考https://www.cnblogs.com/cl-rr/p/11447231.html

1、nginx是什么

Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能 力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx 网站用户有:百度、京东、新浪、网易、腾讯、淘宝等

2、反向代理

  反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只 需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返 回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器 地址,隐藏了真实服务器 IP 地址。

  总结:反向代理,例如:浏览器不直接访问tomcat服务器,而是先访问nginx代理服务器,nginx将真实的访问tomcat的地址代理成一个新的访问地址,将这个新的访问地址发给浏览器,浏览器只知道nginx的访问地址,而不知道tomcat的访问地址,这就是反向代理. 

3、负载均衡

  单个服务器解 决不了请求过多的问题,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个

服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们 所说的负载均衡 

 

 

4、动静分离

  为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速 度。降低原来单个服务器的压力。 

 

二、nginx安装、常用命令和配置文件

1、windows中安装nginx(省略,可查阅网络资料,有windows和linux2种)

 1.1、linux下nginx的安装和运行

安装参考博客:https://www.cnblogs.com/xxoome/p/5866475.html

运行nginx、停止nginx、重启nginx参考博客:https://www.cnblogs.com/xxoome/p/5866475.html

2、nginx在windows下的常用命令

   a.启动

    cmd进入nginx安装目录,输入命令 start nginx。我的例子如下:

D:\nginx\nginx-1.16.1>start nginx

 

   b. 关闭命令,还是在nginx目录下执行   

D:\nginx\nginx-1.16.1>nginx.exe -s stop

   c.重新加载    nginx.exe -s reload

 

D:\nginx\nginx-1.16.1>nginx.exe -s reload

3、nginx配置文件

  配置文件中有很多#, 开头的表示注释内容,我们去掉所有开始的 # 开头的段落,加入自己的注解,内容如下:

 

  每个 http 块可以包括多个 server 块,而每个 server 块就相当于一个虚拟主机。
而每个 server 块也分为全局 server 块,以及可以同时包含多个 locaton 块。

  1、全局 server 块
最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或IP配置。
  2、location 块
  一个 server 块可以配置多个 location 块。
这块的主要作用是基于 Nginx 服务器接收到的请求字符串(例如 server_name/uri-string),对虚拟主机名称 (也可以是IP 别名)之外的字符串(例如 前面的 /uri-string)进行匹配,对特定的请求进行处理。地址定向、数据缓 存和应答控制等功能,还有许多第三方模块的配置也在这里进行。 

 

nginx.conf文件内容详细讲解博客地址,https://www.cnblogs.com/paulwhw/articles/11116363.html

 

三、nginx 配置实例-反向代理 

1、

 

posted @ 2020-07-28 22:13  等待企鹅的北极熊  阅读(66)  评论(0)    收藏  举报