nginx简单安装和使用

     nginx现阶段已经逐渐向主流的服务器程序靠拢,业界使用占比根据官方统计已经达到了百分之20以上。

     今天就来简单的说一下nginx的功能概况,简单安装以及使用

   1、什么是nginx

        官方给出的定义:Nginx ("engine x") 是一个高性能的 HTTP 反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器

   2、nginx擅长什么

       1)页面路由,微服务前端

             现在的nodejs+nginx前端服务在很多领域都有使用。

       2)集群负载功能 ,提高系统并发量

             nginx的反向代理功能,可以对多个服务进行轮询调用。

       3)静态服务器功能。

             对一些html ,js ,css , image,文档等文件功能的服务

   3、nginx的安装

         因为nginx主要在linux系统上使用,这里就不说windows上的安装步骤了,

         1)首先需要nginx.tar.gz包,这里使用1.9.0版本,  这里可以下载:  http://nginx.org/download/nginx-1.9.0.tar.gz

              或者:https://download.csdn.net/download/zhanglei082319/11055137

         2)tar -zxvf  nginx-1.9.0.tar.gz  解压

         3)解压后进入目录  cd nginx-1.9.0

         4)执行命令 :./configure   --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

                   --prefix 标识安装目录,默认/usr/local/nginx

         5) 继续执行命令 make && make install    编译安装

               到此为止安装成功

    4、nginx启动

          启动nginx :   /usr/local/nginx/sbin/nginx

          测试nginx配置:  /usr/local/nginx/sbin/nginx -t

          停止nginx:  /usr/local/nginx/sbin/nginx -s  stop

          重新加载nginx.conf文件:  /usr/local/nginx/sbin/nginx -s  reload

          退出: /usr/local/nginx/sbin/nginx -s  quit

          

        启动nginx后,打开浏览器后可以看到nginx首页:

      5、nginx核心配置文件

           /usr/local/nginx/conf/nginx.conf  该配置文件为nginx的核心配置文件,实际工作中,对nginx的部署重启,主要就是对这个配置文件的修改重启。

          1)server

           

           这是精简版的nginx.conf文件。

           这里我们主要对server,以及server中一些常见的属性做讲解

           server:顾名思义,就是服务

           listen: 端口,这里可以定义成任意不重复的端口

           server_name: 服务名称,可以定义成192.168.0.1等ip名称,也可以定义成www.***.com的域名,当然定义域名后如果window访问的话需要在windows/system32/drivers/etc/hosts文件中添加域名和ip的映射

           location: 这是nginx非常重要的属性,一般运维人员修改nginx地址主要就是修改这个地方。

              下面对location进行详细的说明

         2)、location 

             location:  具体的映射地址。nginx读地址映射有以下几种规则

符号

含义

=

= 开头表示精确匹配

^~

^~开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)

~

~ 开头表示区分大小写的正则匹配

~*

~* 开头表示不区分大小写的正则匹配

!~和!~*

!~和!~*分别为区分大小写不匹配及不区分大小写不匹配的正则

/

用户所使用的代理(一般为浏览器)

$http_x_forwarded_for

可以记录客户端IP,通过代理服务器来记录客户端的ip地址

$http_referer

可以记录用户是从哪个链接访问过来的

         3)proxy_pass : 反向代理

               比如在location中添加以下配置后,

                

                现在访问htttp://www.bcx.com/proxy,就会直接访问到搜狐网。这就表示当前nginx 地址是对搜狐网的代理地址

               

             4)  upstream :  负载服务配置

                  上面的配置文件中有这样的负载配置:

            

                   其中192.168.0.101:8080 和 192.168.0.101:8090是两个不同的springboot jar包项目。

                   nginx表示该upstream负载名称,名称可以随便起,叫test或者demo都可以

               然后在server配置中添加location:

               

               这个location中http://nginx/;中的nginx就是upstream 名称。

                 这时候我们访问http://www.bcx.com/dong就会发现每次请求的实际地址都不一样。

               

           nginx会在A 服务和B服务之间不停的切换。

           当然这种轮询切换服务的规则是nginx默认的负载轮询规则,在upstream中还可以设置ip _hash 表示以客户端的额hash值来确定请求那个服务,使用hash值后,一般客户端只会访问一个服务。

          

          weight属性表示 服务轮询的频率,比如A服务设置3,则A服务会不停的调用3次在去调用其他服务。

          

         以上

猜你喜欢

转载自blog.csdn.net/zhanglei082319/article/details/88775357