Nginx教程

Nginx

本文主要是介绍Nginx,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

第2章 Nging安装

  2.1 下载nginx

    (1)官网网址:http://nginx.org/

  2.2 安装pcre依赖

      安装步骤:下载安装包、解压、安装(配置、编译、安装)

      1.下载:

        方式一:联网下载pcre压缩文件依赖,那个目录下使用的命令,就下载在那个目录

wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz

        方式二:使用现有的文件(在百度网盘中)

            pcre-8.37.tar.gz

      2.解压:(要缩文件从/opt/software -> /opt)

命令:tar -zxvf pcre-8.37.tar.gz -C ../

      3. 安装

          1) 进入解压文件,执行配置命令:./configure

          2)执行编译命令: make

          3)执行安装命令:make install

  2.3 安装openssl、zlib、gcc依赖

 

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-deve

  2.4 安装nginx

      1.解压

        将/opt/nginx-1.12.2.tar.gz解压到/opt/

      2.安装

          1) 进入解压文件,执行配置命令:./configure

 

          2)执行编译命令: make

 

          3)执行安装命令:make install

    (5)开放端口号

          开放http协议:firewall-cmd --add-service=http –permanent

          开放端口号:sudo firewall-cmd --add-port=80/tcp --permanent

          重启防火墙:firewall-cmd --reload

          查看开放的端口号:firewall-cmd --list-all

第3章 nginx常用的命令和配置文件

  3.1 nginx常用的命令

    需要切换到/usr/local/nginx/sbin/目录下,才能执行这些命令

    (1)启动命令:./nginx

    (2)关闭命令:./nginx -s stop

    (3)重启命令:./nginx -s reload

    (4)查看nginx版本号:./nginx -v

  3.2 nginx的配置文件

    (1)配置文件位置:/usr/local/nginx/conf/nginx.conf

    (2)配置文件中的内容:

worker_processes  1;

events {
    worker_connections  1024;
}

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

    sendfile        on;
   
    server {
        listen       80;
        server_name  localhost;

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

    }
}

      根据配置文件的内容,可以将nginx.conf配置文件分为三个部分:

        1.全局块:配置服务器整体运行的配置指令

          worker_processes 1:配置处理并发数量

        2.events块

          worker_connections 1024:支持的最大连接数为1024

        3.http块

          包含部分:

            1)http全局块

            2)server块

              一个http块可以包含多个server块,而每个server块相当于一个虚拟主机。

              每个server块也分为全局server块,以及可以同时包含多个location块

              1. 全局server块

                配置本虚拟机主机监听配置和虚拟主机名称或IP配置

              2.location块

                一个server块可以配置多个location块

第4章 nginx配置实例-反向代理

  4.1 反向代理——实例一

    实现效果:访问www.123.com,直接跳转到192.168.252.130:8080

    

    实现步骤:

      1.通过小改本地hosts文件,添加一行内容

192.168.252.130 www.123.com

       2. 修改nginx.conf配置文件

      

        如上配置,我们监听80端口,访问域名为www.123.com

  4.2 反向代理——实例二

    实现效果:

      访问http:192.168.252.130:9001/vod/ 直接跳转到192.168.252.130:8001

      访问http:192.168.252.130:9001/edu/ 直接跳转到192.168.252.130:8002

      

       

    实现步骤:

      1.准备两个tomcat,一个8001端口,一个8002端口并准备好测试页面

        准备两tomcat的步骤:https://www.cnblogs.com/pdjdghrs/p/15679164.html

        测试页面:分别在连个tomcat中的webapps目录下创建文件

          vod/index.html和edu/index.html

      2.修改nginx.xml

        在http中添加server{}块

        重启nginx

server{
        listen 9001;
        server_name 192.168.252.130;
        
        location ~ /vod/ {
            proxy_ pass http://192.168.130.252:vod/
            index  index.html index.htm;
        }
        
        location ~ /edu/ {
            proxy_ pass http://192.168.130.252:edu/
            index  index.html index.htm;
        }
    }

       3. location指令说明

        概述:该指令用于匹配URL

        语法如下:

location [= | ~ | ~* | ^~]  url {

}

         1、 = :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,

        2、 ~:用于表示 uri 包含正则表达式,并且区分大小写。

        3、 ~*:用于表示 uri 包含正则表达式,并且不区分大小写。  

        4、 ^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location块中的正则 uri 和请求字符串做匹配。

第5章 nginx配置实例——负载均衡

    实现步骤:

      1.启动两个Tomcat

      2.配置nginx.conf

        在http块中添加代码:(默认表示轮询)

upstream myserver{
        server 192.168.252.130:8001;
        server 192.168.252.130:8002;
    }

 

        在server块中的location中添加代码:

        location /{
            root html;
            proxy_pass http://myserver;
            index index.html index.htm;
        }

 

     3.nginx默认分配策略

      (1)轮询(默认)

         每个服务器雨露均沾,如果有后端服务器 down 掉,能自动剔除。

      (2)weight

        weight代表权重,默认权重为1,权重越高分配的客户端越多

 

upstream myserver{
  server 192.168.252.130 weight=10;
  server 192.168.252.130 weight=10;
}

 

 

 

      (3)ip_hash 

        每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。

upstream myserver{
  ip_hash;
  server 192.168.252.130:8001;
  server 192.168.252.130:8002;
}

第6章 nginx配置实例—— 动静分离

  1.概述

    动静分离可以理解成使用 Nginx处理静态页面, Tomcat 处理动态页面。

    动静分离目前实现角度来讲大致分为两种:

      (1)一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;
      (2)一种方法就是动态跟静态文件混合在一起发布,通过 nginx 来分开。

 

     

  2. 准备工作

    创建:

      /data/img/1.jpge

      /data/www/a.html

  3.配置nginx.conf

server {
        listen       80;
        server_name  192.168.252.130;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location /www/{
            root /data/;
            index  index.html index.htm;
        }
        location /img/{
            root /data/;
            autoindex on;
        }
}

   4.显示效果

 

     

 

     



  




 

    

        

        

 

 

 

 

 

 

 

 

 

 

 

第8章 nginx搭建高可用集群

  8.1 Keepealived + Nginx 高可用集群(主从模式)

  (1)准备工作

    1.需要两台服务器192.168.252.130和192.168.252.130

    2.在两台服务器都安装nginx  

      详细安装步骤:第2章、第3章

    3.在两台服务器都安装keepalived

      1)使用yum命令安装

        yum -y install keepalived

      2)安装王成后,在etc里面生成目录keeepalived,有文件keepalived.conf

  (2)进行高可用配置(主从配置)

    1.修改/etc/keepalived/keepalived.conf

      

 

      

  

这篇关于Nginx的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!