nginx的简单使用

本文介绍了Nginx作为负载均衡和静态代理服务器的使用,讲解了如何通过配置实现服务器间的负载均衡,以及如何利用Nginx进行动静分离,提升Web项目的性能。同时,文章还提到了在本地部署多服务器时可能遇到的问题及解决方案。
摘要由CSDN通过智能技术生成

这里是修真院后端小课堂,每篇分享文从

八个方面深度解析后端知识/技能,本篇分享的是:

【nginx的简单使用】

【修真院java小课堂】nginx的简单使用

大家好,我是IT修真院上海分院第10期的学员许东杰,一枚正直纯洁善良的java程序员,今天给大家分享一下,修真院官网java(职业)任务2,深度思考中的知识点——nginx代理服务器

(1)背景介绍:

负载均衡:

web项目开发完成后需要部署在服务器上(tomcat、jetty等),当高并发访问时,服务器会很卡,负载均衡就是添加了好几台服务器来分担这些访问从而减少服务器压力的。

Nginx就是这样一种用于负载均衡的代理服务器。

(2)知识剖析:

应用Nginx的两种主要功能

nginx:反向代理服务器,专门做均衡负载和静态代理的一款开源的c语言写的web服务器,轻量级,能很好的对大量数据进行存储。

负载均衡:nginx本质也是一种服务器,可以看成是其他服务器的一个总代理,请求过来时会根据配置来动态分配请求访问的服务器。

静态代理:tomcat处理大量的图片数据会非常慢,于是用nginx来进行代理,进行动静分离,这样tomcat直接调用nginx上的数据图片就可以了

(3)常见问题:

部署两个本地服务器的时候,只能启动一个

(4)解决方案:

把本地tomcat服务器的环境变量删掉,然后把第二个服务器的3个端口改一下。

(5)编码实战:

负载均衡和静态代理配置:

#user nobody;

worker_processes 1;

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

#pid logs/nginx.pid;

events {

worker_connections  1024;

}

http {

#include vhost/*.conf;#导入其他配置文件

include      mime.types;

default_type  application/octet-stream;

#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

#                  '$status $body_bytes_sent "$http_referer" '

#                  '"$http_user_agent" "$http_x_forwarded_for"';

#access_log  logs/access.log  main;

sendfile        on;

#tcp_nopush    on;

#keepalive_timeout  0;

keepalive_timeout  65;

#gzip  on;

#负载均衡配置

  upstream localhost{

server localhost:8888 weight=1;#优先级

server localhost:8889 weight=1;

  }

server {

    listen      80;

    server_name  www.xudongjie.com;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {

        #root  html;

      # index  index.html index.htm;

proxy_set_header  Host              $host;  # required for docker client's sake

        proxy_set_header  X-Real-IP        $remote_addr; # 获取用户的真实IP地址

        proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;

proxy_pass http://localhost;

    }

    error_page  500 502 503 504  /50x.html;

    location = /50x.html {

        root  html;

    }

}

server {

    listen      80;

    server_name  image.xudongjie.com;

root E:/nginx/statictext/;

    charset utf-8;

    #access_log  logs/host.access.log  main;

    location / {

root E:/nginx/statictext/;

index index.html; #可以指定文件名称 index index.html;

    }

    error_page  500 502 503 504  /50x.html;

    location = /50x.html {

        root  html;

    }

}

}

(6)拓展思考:

(7)参考文献:

百度、谷歌

(8)更多讨论:

Q1:静态代理在实际中的运用?

A1:实际中把静态的图片页面等放到nginx服务器目录下,当tomcat要调用这些资源的时候直接访问nginx服务器取读取。
Q2:提问人:静态代理还有别的方式吗
A2:可以不用虚拟主机,在一个主机中根据访问路径的后缀来进行访问页面的分离,向.html就分配到本地静态库,.jsp就分配到服务器tomcat上。

(9)结束语:

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值