6、nginx+linux下jdk配置

Nginx高级

1.1 Nginx的进程

1.1.1 进程与守护进程

说明:Nginx的启动一次启动2个进程.一个是主进程,另一个是守护进程.守护进程的作用防治主进程意外关闭.

关闭Nginx:

如果需要关闭Nginx,先关闭守护进程.在关闭主进程.

nginx  -s stop

1.1.2 Nginx的实例化

说明:Nginx的进程可以做到秒开和秒关,并且可以无限的开启进程.并且支持50000次的并发.

1.1.3 Nginx系统首页跳转

说明:Nginx中可以写很多的服务项,每拦截一个url就是一项服务(server).

server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

 

特殊的属性:

root :表示转向的是一个文件夹

proxy_pass:表示转向具体的URL.它是一个代理的请求

1.2 实现京淘后台页面跳转

1.2.1 编辑Nginx配置文件

要求:url中输入manage.jt.com时需要将请求转发到localhost:8091上

实现:

通过Nginx实现反向代理

#京淘的后台管理系统  nginx负载监听浏览器.拦截具体的url实现页面转向

server { 
        listen        80;
        server_name    manage.jt.com;

        #页面转向 转向的是一个具体的url 
        location / {
            proxy_pass http://localhost:8091;    
        }
    }

1.2.2 编辑Hosts文件

说明:通过Hosts工具实现修改.修改hosts的作用是将请求转发到本机.

 

1.2.3 页面跳转测试

 

1.2.4 异常说明

说明:

  1. 重启Nginx时需要将nginx先全部关闭.再次启动.之后测试
  2. 配置文件复制前一个后修改

Nginx实现集群的部署

2.1 集群部署

2.1.1 集群部署的意义

说明:通过配置集群的方式,是解决高并发问题有效方案.

解决方法:通过Nginx负载均衡技术和反向代理技术,可以实现集群的搭建

 

2.2 Window中启动多台tonmcat

2.2.1 Tomcat配置

说明:有些机器可能启动无缓冲tomcat时报错.需要自己手动复制本机自由的tomcat做测试.

2.2.2 修改配置文件

说明:分别将项目的parent-common-manage通过Maven工具打包

1.修改server.xml文件的端口

<Connector port="8092" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

2.修改日志监听端

<Server port="8006" shutdown="SHUTDOWN">

3.修改AJP端口

<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

2.3 配置Nginx

2.3.1 编辑负载均衡

#实现Nginx的负载均衡
    upstream jt{
        server 127.0.0.1:8091;
        server 127.0.0.1:8092;
        server 127.0.0.1:8093;
    }

 

2.3.2 负载均衡实现

#京淘的后台管理系统  nginx负载监听浏览器.拦截具体的url实现页面转向
    server { 
        listen        80;
        server_name    manage.jt.com;

        #页面转向 转向的是一个具体的url  表示upstream名称
        location / {
            proxy_pass http://jt;    
        }
    }

2.4 Tomcat启动时异常

2.4.1 引入log4j日志jar

 

说明:

引入日志文件需要的步骤

1.引入log4j.jar

2.检测是否含有配置文件

3.properties文件如何被引用

要求:

    1.文件的名称必须为log4j.properties

    2.要求文件的路径位于resources目录下

原因:

因为在log4j源码中有静态代码块.默认的读取的配置文件的路径和名称都是写死的/log4j.properties

2.4.2 Tomcat日志文件

说明:通过tomact的日志文件检测报错信息.如果文件过多,先将tomcat停止,之后删除catalina.log文件,之后重启

 

 

2.4.3 常见的错误

  1. 字母的大小写 ,除了类名开头之外 ,全部的都是小写的(sql语句/配置文件的路径)
  2. 端口被占用

a) 关机重启

b) ~~~~~~~

2.5 Nginx负载均衡的策略

2.5.1 轮询策略

说明:每台服务根据顺序依次访问.并且它是nginx中默认的负载均衡的方式.

加载的顺序和Nginx中的配置的顺序是相同的

 

2.5.2 权重的方式

需求:

由于公司的服务器不同同一个型号,性能上略有差异.这时使用轮询可能会出现问题

2.解决方法:采用权重的方式

说明:根据服务器的性能,动态的分配连接.

 

说明:通过权重的形式,可以根据服务器的性能,动态的分配连接.一般公司配置使用权重的方式

2.5.3 IP_hash配置

需求:如何实现Session共享????

问题描述:当用户登陆一台服务器时,在服务器内部保存了用户的Session信息.如果用户再次发出请求后,将不能保证用户访问的依然是登陆过的服务器.这时需要用户再次登录.这种问题如何解决????

总结问题:由于用户访问的服务器不固定,导致Session不能共享.

解决办法:通过IP_Hash

说明:通过用户的IP地址,nginx中内部进行哈希值运行.最终绑定唯一的一台服务器.

总结:

通过IP_hash的计算,将服务器与用户的IP地址进行了绑定.实现了Session的共享.---------Session黏着!

通过IP_hash能够解决简单的Session共享问题.大型公司不会使用该方式(SSO)

 

图例说明:

如果在配置文件中配置了IP_hash,轮询和权重将不起作用.

2.5.4 备用机机制

说明:如果nginx中的服务器都处于满负荷状态.无暇顾及新的连接.这时备用机才会生效.如果主服务器.处理完请求后处于正常状态.这时备用机处理等待状态.

 

2.5.5 通过Nginx如何实现项目部署

需求:需要将war包部署到服务器中????

方法:通过Nginx下线服务器处理

 

如果在server后边添加down配置.nginx不会再将请求发往该服务器.当服务器部署完成后,down去掉,之后重启nginx服务器.表示部署完成.由于nginx的开启和关闭的是速度很快,所有用户没有感觉!!!

Linux的项目部署

3.1 虚拟机启动

3.1.1 解压文件

说明:通过VMware打开VMX文件即可

打开以后的效果

3.1.2 Linux操作操作系统的种类

特点:

  1. Linux操作系统在服务器端大量的使用
  2. Linux系统安全性更好
  3. Linux系统稳定性更强  2周维护一次---一个月(运维)
  4. Linux操作系统全部都是基于文件的
  5. 克隆linux系统

 

3.1.3 克隆操作系统

 

 

2.创建链接克隆之后修改名称和路径

3.2  Linux网络配置

3.2.1 桥接模式

 

 

3.2.2 NAT模式

说明:采用NAT模式后,只要固定了IP地址,可以永久的访问.不用修改代码

 

查询命令:ifconfig

3.2.3 固定IP地址

3.2.4 安装xShell文件

说明:XShell是远程连接Linux操作系统的工具.通过xShell连接远程的Linux操作系统

之后输入用户名和密码链接程序

说明:如果出现该提示信息表示xShell连接虚拟机连接成功

3.2.5 创建快照

3.2.6 Linux系统命令

用户名密码:root root

1.cd /         回到根目录

2.ls           查询当前文件夹中的文件

3.ll           查询文件夹的详细信息

4.pwd          查询当前文件夹的路径

5. mkdir java tomcats   创建多个文件夹

6.mkdir -p aa bb/cc     创建多个文件夹

7.rm -rf  aa bb

   8.rm 文件名称   y/n y

   9.vim aa.txt

1.如果没有aa.txt文件则创建

2.如果含有aa.txt文件则编辑

3.I:表示编辑

4.Esc 退出模式模式

5.:wq 保存退出

6.Esc+u 撤销

3.3 JDK的配置

3.3.1 传输JDK

选中文件夹之后 拖拽到系统中(文件夹路径固定)

3.3.2 解压JDK

3.3.3 配置环境变量

说明: vim /etc/profile 表示编辑环境变量

 

 

3.3.4 让配置生效

 

3.3.5 测试JDK配置是否成功

 

原文地址:https://www.cnblogs.com/xiangyuqi/p/8651260.html