myserver

Nginx负载均衡

China☆狼群 提交于 2020-07-29 07:34:51
什么是负载均衡 负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 负载均衡,英文名称为 Load Balance,其意思就是分摊到多个操作单元上进行执行,例如 Web 服务器、FTP 服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。 #Nginx 实现负载均衡 nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载均衡配置将请求转发至Tomcat服务器,或者其他服务器都行 nginx负载均衡服务器:192.168.1.22:80 Tomcat1服务器:192.168.1.22:9090 Tomcat2服务器:192.168.1.22:9091 Nginx配置负载均衡 修改 /usr/local/docker/nginx/conf 目录下的 nginx.conf 配置文件 user nginx; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream myapp1

Spring中资源的加载原来是这么一回事啊!

倖福魔咒の 提交于 2020-05-08 10:09:44
1. 简介 在JDK中 java.net.URL 适用于加载资源的类,但是 URL 的实现类都是访问网络资源的,并没有可以从类路径或者相对路径获取文件及 ServletContext , 虽然可以通过自定义扩展URL接口来实现新的处理程序,但是这是非常复杂的,同时 URL 接口中定义的行为也并不是很理想的 ,如检测资源的存在等的行为,这也是 spring 为什么自己全新的开发一套自己的资源加载策略, 同时它也满足下面的特点: 单一职责原则,将资源的定义和资源的加载的 模型界限 划的非常清晰 采用高度抽象,统一的资源定义和资源加载的策略和行为,资源加载返回给客户端的是抽象的资源,客户端根据资源的行为定义对其进行具体化的处理 2. Resource 接口 spring 中的 Resource 接口目的在于成为一种功能更加强大的接口,用于抽象化对具体资源的访问,它继承了 org.springframework.core.io.InputStreamSource 接口,作为资源定义的顶级接口, Resource 内部定义了通用的方法,并且有它的子类 AbstractResource 来提供统一的默认实现, Resouerce 接口定义: //资源定义接口 public interface Resource extends InputStreamSource { /** *

Spring中资源的加载原来是这么一回事啊!

人走茶凉 提交于 2020-05-08 10:08:15
1. 简介 在JDK中 java.net.URL 适用于加载资源的类,但是 URL 的实现类都是访问网络资源的,并没有可以从类路径或者相对路径获取文件及 ServletContext , 虽然可以通过自定义扩展URL接口来实现新的处理程序,但是这是非常复杂的,同时 URL 接口中定义的行为也并不是很理想的 ,如检测资源的存在等的行为,这也是 spring 为什么自己全新的开发一套自己的资源加载策略, 同时它也满足下面的特点: 单一职责原则,将资源的定义和资源的加载的 模型界限 划的非常清晰 采用高度抽象,统一的资源定义和资源加载的策略和行为,资源加载返回给客户端的是抽象的资源,客户端根据资源的行为定义对其进行具体化的处理 2. Resource 接口 spring 中的 Resource 接口目的在于成为一种功能更加强大的接口,用于抽象化对具体资源的访问,它继承了 org.springframework.core.io.InputStreamSource 接口,作为资源定义的顶级接口, Resource 内部定义了通用的方法,并且有它的子类 AbstractResource 来提供统一的默认实现, Resouerce 接口定义: //资源定义接口 public interface Resource extends InputStreamSource { /** *

linux的nginx的安装和使用

你说的曾经没有我的故事 提交于 2020-05-05 23:03:43
安装,启动nginx 1.下载源码包 wget -c https://nginx.org/download/nginx-1.12.0.tar.gz 2.解压缩源码 tar -zxvf nginx-1.12.0.tar.gz 3.配置,编译安装 开启nginx状态监测功能 ./configure --prefix=/opt/nginx1-12/ --with-http_ssl_module --with-http_stub_status_module make && make install 4.启动nginx,进入sbin目录,找到nginx启动命令 cd sbin ./nginx #启动 ./nginx -s stop #关闭 ./nginx -s reload #重新加载 安装完成后检测服务 netstat -tunlp |grep 80 curl -I 127.0.0.1 #如果访问不了,检查selinux,iptables 部署一个web站点 nginx默认站点是Nginx目录下的html文件夹,这里可以从nginx.conf中查到 location /{ root html; #这里是默认的站点html文件夹,也就是 /opt/nginx1-12/html/文件夹下的内容 index index.html index.htm; #站点首页文件名是index.html }

《精通并发与Netty》学习笔记(02

别等时光非礼了梦想. 提交于 2020-05-02 18:31:20
上节我们介绍了开发netty项目所必需的开发环境及工具的使用,这节我们来写第一个netty项目 开发步骤 第一步:打开https://search.maven.org 找到netty依赖库 第二步:打开上节创建的项目,修改build.gradle文件如下图: 第三步:新建类com.ssy.netty.MyServer.class package com.ssy.netty; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioServerSocketChannel; /** * netty作为长连接的服务器基于websoket,实现客户端与服务器端长连接。 */ public class MyServer { public static void main(String[] args) { // 负责接收客户端连接 EventLoopGroup bossGroup = new NioEventLoopGroup(); //

CentOS7安装Nginx及配置

我只是一个虾纸丫 提交于 2020-05-01 05:00:22
Nginx是一款轻量级的网页服务器、反向代理服务器。相较于Apache、lighttpd具有占有内存少,稳定性高等优势。 **它最常的用途是提供反向代理服务。** 安装 在Centos下,yum源不提供nginx的安装,可以通过切换yum源的方法获取安装。也可以通过直接下载安装包的方法,**以下命令均需root权限执行**: 首先安装必要的库(nginx 中gzip模块需要 zlib 库,rewrite模块需要 pcre 库,ssl 功能需要openssl库)。选定**/usr/ local**为安装目录,以下具体版本号根据实际改变。 1.安装gcc gcc-c++(如新环境,未安装请先安装) $ yum install -y gcc gcc-c++ 2.安装PCRE库 $ cd /usr/local/ $ wget http:/ /jaist.dl.sourceforge.net/project /pcre/pcre /8.33/pcre- 8.33.tar.gz $ tar -zxvf pcre- 8.36.tar.gz $ cd pcre- 8.36 $ ./configure $ make && make install 如报错 :configure: error: You need a C++ compiler for C++ support 解决 :yum

十分钟搞定Java多线程-如何终止Java线程

巧了我就是萌 提交于 2020-04-28 02:17:15
这是基础的Java线程知识,也是Java面试中经常出现的题,实际上并没有表面看上去那么简单。 启动Java线程容易,因为有Thread.start()方法,但是终止线程可不容易,因为没有可安全终止线程的方法。虽然Thread类提供了一个stop()方法,不过该方法在Java发布第一个版本后就被废弃(Deprecated)了。 @Deprecated(since="1.2") public final void stop() { SecurityManager security = System.getSecurityManager(); if (security != null) { checkAccess(); if (this != Thread.currentThread()) { security.checkPermission(SecurityConstants.STOP_THREAD_PERMISSION); } } // A zero status value corresponds to "NEW", it can't change to // not-NEW because we hold the lock. if (threadStatus != 0) { resume(); // Wake up thread if it was suspended; no

[转帖]Kerberos和NTLM

随声附和 提交于 2020-04-25 06:01:18
Kerberos和NTLM - SQL Server https: // www.cnblogs.com/dreamer-fish/p/3458425.html   当我们使用Windows Authentication去连接SQL Server的时候,SQL Server可能会使用Kerberos或者是NTLM来进行认证,有时间就会因为认证失败的缘故造成各种登录错误(login failed)。解决这些问题往往令人很迷惑。今天我们就来做一个简单的介绍。 1. Kerberos VS NTLM NTLM 认证:Challenge – Response 模式   在使用NTLM协议时,客户端发送用户名到服务器端;服务器生成一个challenge并发送给客户端;客户端使用用户的密码来加密这个challenge,然后发送response到服务器端。如果该账号是一个本机账号,那么服务器使用Security Account Manager来验证用户;如果账号是一个域账号,那么服务器把这个response请求转送到域控制器(DC)上来让域控制器调用组安全策略来做用户认证,然后服务器就可以构建一个安全令牌并建立一个session。 Kerberos 认证:Trust-Third_party 架构   Kerberos认证提供一种服务器和客户端相互认证的机制。Kerberos包含了三个关键组件

nginx使用手册+基本原理+优缺点

旧巷老猫 提交于 2020-04-05 18:45:37
nginx使用手册+基本原理+优缺点 一、nginx优点 1.反向代理 1、正向代理: 客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。 req resp req resp client ClientProxy server server不知道client是谁 2、反向代理:客户端请求服务器,中间也是经过一个代理服务器,客户端访问代理服务器就好像访问目标服务器一样。同时代理服务器将请求转发到后端具体服务器。 req resp req resp req resp req resp client ServerProxy Server01 Server02 Server03 客户端不知道自己具体访问的服务器是谁 3、总结 https://blog.csdn.net/wnvalentin/article/details/88171847 正向代理是对客户端的代理,由客户端设立,客户端了解代理服务器和目标服务器,但目标服务器不了解真正的客户端是谁;使用正向代理可达到 突破访问限制、提高访问速度、对服务器隐藏客户端IP等目的; 反向代理是对服务器的代理,由服务器设立,客户端不了解真正的服务器是谁,使用反向代理可达到负载均衡、保障服务端安全

centos7安装配置 nginx

北城以北 提交于 2020-03-02 06:08:31
安装 安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境。 一. gcc 安装 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装: yum install gcc-c++ 二. PCRE pcre-devel 安装 PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令: yum install -y pcre pcre-devel 三. zlib 安装 zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。 yum install -y zlib zlib-devel 四. OpenSSL 安装 OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议