• Nginx入门


    Nginx入门

    Nginx配置文件

    Nginx代理

    正向代理

    比如要访问youtube,但是不能直接访问,只能先找个翻墙软件,通过翻墙软件(也就是代理服务器)才能访问youtube. 翻墙软件就叫做正向代理。

    反向代理

    指的是用户要访问youtube,但是youtube悄悄地把这个请求交给bilibili来做,那么bilibili就是反向代理了。

    在当前教程指的就是你要访问nginx,但是nginx把请求交给tomcat来做。

    修改nginx.conf

    location /

    表示处理所有请求

    proxy_pass http://127.0.0.1:8111;

    表示把请求都交给http://127.0.0.1:8111来处理

    动静分离

    概念

    nginx处理静态文件的吞吐量能力比tomcat好很多。

    所以通常将nginx和tomcat配合使用,把静态请求(比如css, js之类)交给nginx,动态请求(比如jsp, servlet,ssm, struts等请求)交给tomcat,从而达到动静分离的效果,这样无形中提升了性能。

    修改nginx.conf

    在locaction下面添加一个新的location,表示所有的css js png访问都由nginx来做(要注意,填写本地地址的时候,要用正斜杠 / 不要用反斜杠 ):

    location ~.(css|js|png)$ {
    	root E:/test/tomcat_8111/webapps/ROOT;
    }
    

    负载均衡

    概念

    访问量很大的时候,一个 Tomcat 吃不消了,这时候就需要准备多个 Tomcat。由Nginx按照权重来对请求进行分配,从而缓解单独一个Tomcat受到的压力

    weight表示权重,值越大,被分配到的几率越大。

    修改nginx.conf

    upstream tomcat_8111_8222{
    	server	127.0.0.1:8111 weight=1;
    	server	127.0.0.1:8222 weight=2;
    }
    
    location / {
    	proxy_pass http://tomcat_8111_8222;
    }
    

    负载均衡 session问题

    通过负载均衡,我们可以把请求分发到不同的 Tomcat 来缓解服务器的压力。但是这里存在一个问题: 当同一个用户第一次访问tomcat_8111 并且登录成功, 而第二次访问却被分配到了tomcat_8222, 这里并没有记录他的登陆状态,那么就会呈现未登录状态了,严重伤害了用户体验。

    解决办法: redis+tomcat-sessoin-manager

    安装redis.exe,启动redis

    Tomcat需要连接 redis,所以需要专门的jar包,放在tomat8111的lib目录下。

    jedis-2.5.2.jar,

    commons-pool2-2.0.jar,

    tomcat-redis-session-manager1.2.jar。

    修改context.xml(增加字段)

     <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />  
    
      <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"  
       host="127.0.0.1"  
       port="6379"  
       database="0"  
       maxInactiveInterval="60" /> 
    

    问题解决

    nginx安装包路径中不能含有中文

    nginx: [emerg] CreateFile() "E:Myfile ginx和tomcat ginx/conf/nginx.conf" failed (1113: No mapping for the Unicode character exists in the target multi-byte code page)

    修改路径即可

  • 相关阅读:
    python
    mysql 操作
    you-get 使用代理
    恢复本地策略组--用于启动项管理等
    bat批处理——获取文件夹下所有文件名/重命名
    cmd--set用法,下次补充实例
    bat+7z批量压缩"文件夹"
    Excel提取字符串示例
    cron
    AIX修改用户密码登录不成功案例分享
  • 原文地址:https://www.cnblogs.com/mumuyinxin/p/12040700.html
Copyright © 2020-2023  润新知