(24)nginx的安装与部署流程

1.Nginx的相关概念

(1)反向代理

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

(2)负载均衡

负载均衡,英文名称为Load Balance,是指建立在现有网络结构之上,并提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。其原理就是数据流量分摊到多个服务器上执行,减轻每台服务器的压力,多台服务器共同完成工作任务,从而提高了数据的吞吐量。

2.Nginx的安装

(1) 下载nginx

官网:http://nginx.org/

(2) 上传并解压nginx

tar -zxvf nginx-1.8.1.tar.gz -C /usr/local/src

(3) 编译nginx

#进入到nginx源码目录

cd /home/Eis/apps/nginx-1.8.1

#检查安装环境, --prefix指定编译后nginx安装的路径

./configure --prefix=/usr/local/nginx

(如缺包报错 ./configure: error: C compiler cc is not found

   解决方法:#使用YUM安装缺少的包

    yum -y install gcc pcre-devel openssl openssl-devel zlib-devel)

编译

make

安装

make install

(4)安装完后测试是否正常

cd /usr/local/nginx/sbin

启动nginx:./nginx

查看端口是否有ngnix进程监听: netstat -ntlp | grep 80

3.Nginx的配置(作为多个服务器的代理)

(1)配置反向代理

1.修改nginx配置文件(/usr/local/nginx/conf/nginx.conf

server {

    listen       80;   # nginx监听的端口

    server_name  nginx-01.itcast.cn;    #nginx所在服务器的主机名

#反向代理的配置

location / {    # nginx收到/开头的请求时(任何的http请求都是以/开头的),拦截请求并转发到proxy_pass指定的服务器上

    root html;

        proxy_pass http://192.168.0.21:8080;   #这里是代理走向的目标服务器:tomcat

    }

}

2.启动tomcat-01上的tomcat

3.启动nginx-01上的nginx

./nginx

4.重启:

kill -HUP `cat /usr/local/nginx/logs/nginx.pid `

参考网址:http://www.cnblogs.com/jianxie/p/3990377.html

客户端(最左)想要访问tomcat服务器时,不用直接访问,而是访问shizhan01上的nginx(访问地址为http://shizhan01:80),

shizhan01接收到请求后将请求转发给shizhan02,然后将shizhan02发来的tomat页面返回客户端

(2)动静分离

静态资源由nginx返回,动态资源由tomcat返回

location ~ .*.(jsp|do|action)$ {  # 动态资源的请求转发给tomcat服务器

    proxy_pass http://tomcat-01.itcast.cn:8080;

}

location ~ .*.(html|js|css|gif|jpg|jpeg|png)$ {  # 静态资源的请求由nginx直接处理

    expires 3d;

}

(3)负载均衡

nginx连接多台tomcat,轮流转发请求给不同的tomcat

http {

    # 是在http里面的, 已有http, 不是在server,server外面

  # 在http这个节下面配置一个叫upstream的,后面的名字可以随意取,但是要和location下的proxy_pass http://后的保持一致。

    upstream tomcats {   # 定义服务器组中的服务器

        server shizhan02:8080 weight=1;   #weight表示每个服务器的负载多少

        server shizhan03:8080 weight=1;

        server shizhan04:8080 weight=1;

      }

    # 写在server

    location ~ .*.(jsp|do|action) {  # ~大小写敏感  

          #对于请求动态资源的请求,转发给一组tomcat服务器

          proxy_pass http://tomcats;        #tomcats是后面的tomcat服务器组的逻辑组号

     }

}

原文地址:https://www.cnblogs.com/paradis/p/11365433.html