nginx技术(下)

需求:

安装两个Tomcat服务,通过nginx反向代理。案例中使用两台虚拟机演示,Tomcat安装到

192.168.8.3环境中,端口为8080与9090,Nginx安装在192.168.8.4环境中。

实现步骤: 

安装tomcat:

        在192.168.8.3中将解压好的tomcat使用命令:

        cp apache-tomcat-8.5.61 /usr/local/tomcat1 -r

        cp apache-tomcat-8.5.61 /usr/local/tomcat2 -r

      (tomcat安装,解压好就可以用)

配置tomcat:

        修改端口,tomcat1默认8080,不用修改,修改tomcat2配置文件,进入/usr/local/tomcat2/conf,命令:vim server.xml

修改内容:<Server port="8006" shutdown="SHUTDOWN">

                 <Connector port="9090" protocol="HTTP/1.1"

共2处的端口。第一个默认8005改为8006,第二个默认8080改为9090。

修改tomcat首页:

        进入/usr/local/tomcat2/webapps/ROOT目录,vim index.jsp

 (h1标签内加一个9090作为标识)

        同样的方式 修改tomcat1首页

 启动tomcat1和tomcat2:

        cd    /usr/local/tomcat1/bin

        ./startup.sh        回车

     (tomcat2同理)

访问tomcat: 192.168.8.3:8080        192.168.8.3:9090

修改域名映射:

        进入C:/Windows/system32/drivers/etc,修改文件hosts,添加

        192.168.8.4         www.tomcat1.com
        192.168.8.4         www.tomcat2.com

        (注意:此处IP地址为nginx安装主机的IP地址,非tomcat所在主机地址。)

修改nginx配置文件:

        

注意,上面两个server监听端口写错了,改为80!!!

 (注:upstream和server是并列关系

遇到问题:nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)

解决办法:/usr/local/nginx/sbin/nginx -c  /usr/local/nginx/conf/nginx.conf

访问:浏览器输入www.tomcat1.com,www.tomcat2.com即可通过nginx代理访问tomcat服务器。

nginx的负载均衡: 

负载均衡:工作负载分布到多个服务器来提高网站,应用,数据库或其他服务器的性能和可靠性。

nginx负载均衡策略:轮询(默认),指定权重,ip绑定ip_hash(每个请求按访问IP的hash结果分配,每个访客固定访问一个后端服务器,可以解决session的问题)。

需求: 

通过www.cluster.com访问服务集群。

实现步骤: 

第一步:进入C:\Windows\system32\drivers\etc\hosts

添加:192.168.8.4        www.cluster.com        (ip地址为nginx所在主机)

第二步:nginx配置服务集群

                 upstream    cluster.server{
                        server 192.168.8.3:8080;
                        server 192.168.8.3:9090;
                 }

                

server{
        listen  80;
        server_name     www.cluster.com;
        location /{

                proxy_pass http://cluster.server;
        }

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

    }

重启nginx:./nginx -s quit

                 ./nginx  回车

第三步:访问www.cluster.com

结果第一次为8080,第二次9090,第三次9090,第四次9090,......

因为第一次一个请求,所以8080,第二次访问www.cluster.com时浏览器会多发一个请求

http://www.cluster.com/favicon.ico,而多出来的那个请求就交给了8080端口,所以第三次依然是9090,依此类推,往后一直都是9090。

第四步:在nginx.conf配置文件的server块中添加

                location /favicon.ico{

                }

                此时favicon.ioc请求不会做任何处理。

第五步:此时访问www.cluster.com就会出现8080,9090交替处理。(默认就是轮询的策略)

负载均衡中配置权重: 

 upstream    cluster.server{
                        server 192.168.8.3:8080;
                        server 192.168.8.3:9090       
weight=2;
 }

需求: 

通过nginx实现http协议代理,访问指定目录中的图片。

实现步骤: 

(一般情况,nginx都会装到图片服务器的主机当中)

第一步:修改hosts文件,添加

                192.168.8.4        img.cluster.com

第二步:配置nginx.conf文件       

user         root;     

server{
        listen  80;
        server_name     img.cluster.com;
        location /{

               root        /root/temp/img/;
        }

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

    }

注:/root/temp/img/为图片所在目录。

第三步:浏览器访问域名www.cluster.com,返回即为图片。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据提供的引用内容,可以了解到Nginx是一个高性能的Web服务器和反向代理服务器,它可以处理大量并发连接,并具有低内存消耗。Nginx技术框架主要包括以下几个方面: 1. 服务器架构:Nginx采用了事件驱动的异步非阻塞架构,通过使用少量的线程和内存来处理大量的并发连接请求,提高了服务器的性能和吞吐量。 2. 反向代理:Nginx可以作为反向代理服务器,将客户端的请求转发给后端的多个服务器,实现负载均衡和高可用性。 3. 静态文件服务:Nginx可以直接提供静态文件的访问,通过配置合适的缓存策略和压缩算法,提高了静态文件的传输效率。 4. 动态请求处理:Nginx可以与各种动态语言应用(如PHP、Python、Java等)进行集成,通过FastCGI、uWSGI等协议与后端应用服务器进行通信,实现动态请求的处理。 5. 负载均衡:Nginx支持多种负载均衡算法,如轮询、IP哈希、最少连接等,可以根据实际需求将请求分发给后端的多个服务器,提高系统的可扩展性和稳定性。 6. 缓存和压缩:Nginx可以通过配置缓存策略和压缩算法,提高静态文件的传输效率,减少网络带宽的占用。 7. 安全性:Nginx提供了多种安全功能,如访问控制、SSL/TLS加密、防止DDoS攻击等,保护服务器和应用的安全。 8. 日志和监控:Nginx可以记录访问日志和错误日志,通过监控工具可以实时监控服务器的状态和性能指标,帮助管理员及时发现和解决问题。 9. 扩展性:Nginx支持模块化的架构,可以通过编写自定义模块来扩展功能,满足特定的需求。 总结起来,Nginx技术框架包括了高性能的服务器架构、反向代理、静态文件服务、动态请求处理、负载均衡、缓存和压缩、安全性、日志和监控以及扩展性等方面的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_47295812

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值