nginx

shell脚本一键部署nginx

。_饼干妹妹 提交于 2020-12-16 15:42:45
一键部署nginx 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 #!/bin/bash systemctl stop firewalld && setenforce 0 #首先安装nginx的依赖环境 yum -y install gcc pcre-devel zlib-devel net-tools wget #解压nginx的安装包 if [ ! -d "/root/nginx-1.16.1" ]; then wget http: //nginx .org /download/nginx-1 .16.1. tar .gz tar -zxf nginx-1.16.1. tar .gz echo "压缩包已解压" else echo "此文件已存在" continue fi #进去文件开始检查环境 编译安装 if [ ! -d /usr/local/nginx

Kubernetes 学习11 kubernetes ingress及ingress controller

泪湿孤枕 提交于 2020-12-16 13:58:08
一、上集回顾   1、Service 3种模型:userspace,iptables,ipvs   2、Service类型     ClusterIP,NodePort       NodePort:client -> NodeIP:NodePort -> ClusterIP:ServicePort -> PodIP:containerPort       LoadBalancer       ExternelName     No ClusterIP: Hedless Service       serviceName -> PodIP 二、ingress   1、在客户端访问我们k8s服务时,四层调度器本身是没有办法解除ssl会话的,这就意味着客户端必须与后端服务器(pod)之间直接建立ssl会话,这里还有个显著的问题在于如果调度器在ssl会话建立以后的下一个请求被调度到第二台服务器上那么这个ssl还要重新建立,因此我们只要认为内部网络是安全的那么我们可以把会话在前端调度器上卸载,但是四层调度是不能卸载的,因此我们需要七层的负载均衡机制。因此如果他们是http服务我们又期望构建https,那么我们只需要他在互联网上这个不安全的网络中传输实现https,内网中使用http,因此我们需要使用卸载器,但是我们Service调度时,无论是iptables还是ipvs都只是四层调度

2020年,阿里内推Java后端面试题,文末附面试福利。

穿精又带淫゛_ 提交于 2020-12-16 13:57:49
阿里一面题目: osi七层网络模型,五层网络模型,每次层分别有哪些协议 死锁产生的条件, 以及如何避免死锁,银行家算法,产生死锁后如何解决 如何判断链表有环 虚拟机类加载机制,双亲委派模型,以及为什么要实现双亲委派模型 虚拟机调优参数 拆箱装箱的原理 JVM垃圾回收算法 CMS G1 hashset和hashmap的区别,haspmap的底层实现put操作,扩容机制,currenthashmap如何解决线程安全,1.7版本以及1.8版本的不同 md5加密的原理 有多少种方法可以让线程阻塞,能说多少说多少 synchronized和reetrantlock锁 AQS同步器框架,countdowmlatch,cyclebarrier,semaphore,读写锁 阿里二面题目: B-Tree索引,myisam和innodb中索引的区别 BIO和NIO的应用场景 讲讲threadlocal 数据库隔离级别,每层级别分别用什么方法实现,三级封锁协议,共享锁排它锁,mvcc多版本并发控制协议,间隙锁 数据库索引?B+树?为什么要建索引?什么样的字段需要建索引,建索引的时候一般考虑什么?索引会不会使插入、删除作效率变低,怎么解决? 数据库表怎么设计的?数据库范式?设计的过程中需要注意什么? 共享锁与非共享锁、一个事务锁住了一条数据,另一个事务能查吗? Spring bean的生命周期

Kong APIGW — Overview

◇◆丶佛笑我妖孽 提交于 2020-12-16 12:07:37
目录 文章目录 目录 Kong Kong 的软件架构 Kong 的插件 Lua Nginx Module 零信任网关 技术选型 Kong Kong 是一款由 Mashape 公司开源的 APIGW 软件,基于 OpenResty(Nginx + Lua 模块)实现,具有高可用、易扩展的特性。Kong 在 Mashape 上管理了超过 15,000 个 API,为 200,000 开发者提供了每月数十亿的请求支持。 官网 :https://konghq.com/kong/ Github :https://github.com/Kong/kong Docs :https://docs.konghq.com/ 中文文档 :https://github.com/qianyugang/kong-docs-cn Kong 的本质是一个在 Nginx 上运行的 Lua 应用程序,由 lua-nginx-module 实现。Kong 和 OpenResty 一起打包发行,其中已经包含了 lua-nginx-module。可以简单理解为:Kong > OpenResty > Nginx + lua-nginx-module。 Kong 的特性: 可扩展 :Kong Server 支持水平扩展。 插件 :Kong Server 实现了 Plugin 机制进行功能定制,通过 RESTful Admin

Centos下Nginx的安装

馋奶兔 提交于 2020-12-16 10:21:26
Ngnix安装 采用淘宝的Nginx版本: tengine yum install -y pcre-devel openssl-devel groupadd www-data useradd -s /sbin/nologin -g www-data www-data cd /usr/local/src wget http://tengine.taobao.org/download/tengine-2.1.0.tar.gz tar -zxvf tengine-2.1.0.tar.gz cd tengine-2.1.0 ./configure –prefix=/usr/local/nginx \ –user=www-data \ –group=www-data \ –with-http_gzip_static_module \ –with-http_realip_module \ –with-http_stub_status_module \ –with-http_concat_module \ –with-pcre make && make install 配置 Tengine ,设置 tengine 自动启动 #vim /etc/rc.d/init.d/nginx # 编辑启动文件添加下面内容 #!/bin/bash # nginx Startup script for the

Linux运维跳槽面试精华题|第四集

最后都变了- 提交于 2020-12-16 10:11:20
作者:运维派 来源:http://www.yunweipai.com/archives/27983.html 31、你常用的Nginx模块,用来做什么 rewrite模块,实现重写功能 access模块:来源控制 ssl模块:安全加密 ngx_http_gzip_module:网络传输压缩模块 ngx_http_proxy_module 模块实现代理 ngx_http_upstream_module模块实现定义后端服务器列表 ngx_cache_purge实现缓存清除功能 32、请列出你了解的web服务器负载架构 Nginx Haproxy Keepalived LVS 33、查看http的并发请求数与其TCP连接状态 netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’ 还有ulimit -n 查看linux系统打开最大的文件描述符,这里默认1024 不修改这里web服务器修改再大也没用,若要用就修改很几个办法,这里说其中一个: 修改/etc/security/limits.conf soft nofile 10240 hard nofile 10240 重启后生效 34、用tcpdump嗅探80端口的访问看看谁最高 tcpdump -i eth0 -tnn dst port 80 -c 1000

分布式架构演进过程

这一生的挚爱 提交于 2020-12-16 07:06:36
1.基本概念 在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍: 1 :分布式 系统中的多个模块在不同的服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在不同的服务器上,或两个相同功能的Tomcat 分别部署在不同的服务器上。 2 :高可用 系统中部分节点失效时,其他节点能够接替它继续提供服务,则可认为系统具有高可用性。 3 :集群 一个特定领域的软件部署在多台服务器上并作为一个整体提供一类服务,这个整体称为集群。如Zookeeper中的Master和Slave分别部署在多台服务 器上,共同组成一个整体提供集中配置服务。在常见的集群中,客户端往往能够连接任意一个节点获得服务,并且当集群中一个节点掉线时,其他节点 往往能够自动的接替它继续提供服务,这时候说明集群具有高可用性。 4 :负载均衡 请求发送到系统时,通过这些方式把请求均匀分发到多个节点上,使系统中每个节点能够均匀的处理请求负载,则可认为系统是负载均衡的。 5 :正向代理和反向代理 系统内部要访问外部网络时,统一通过一个代理服务器把请求转发出去,在外部网络看来就是代理服务器发起的访问,此时代理服务器实现的是正向代理;当外部请求进入系统时,代理服务器把该请求转发到系统中的某台服务器上,对外部请求来说,与之交互的只有代理服务器,此时代理服务器 实现的是反向代理。简单来说

分布式架构演进过程

↘锁芯ラ 提交于 2020-12-16 07:06:18
分布式架构演进过程 1.基本概念 1 :分布式 2 :高可用 3 :集群 4 :负载均衡 5 :正向代理和反向代理 2.架构演进 2.1 单机架构 2.2 第一次演进 :Tomcat与数据库分开部署 2.3 第二次演进 :引入本地缓存和分布式缓存 2.4 第三次演进 :引入反向代理实现负载均衡 2.5 第四次演进 :数据库读写分离 2.6 第五次演进 :数据库按业务分库 2.7 第六次演进 :把大表拆分为小表 2.8 第七次演进 :使用LVS或F5来使多个Nginx负载均衡 2.9 第八次演进 :通过DNS轮询实现机房间的负载均衡 2.10 第九次演进 :引入NoSQL数据库和搜索引擎等技术 2.11 第十次演进 :大应用拆分为小应用 2.12 第十一次演进 :复用的功能抽离成微服务 2.13 第十二次演进 :引入企业服务总线ESB屏蔽服务接口的访问差异 2.14 第十三次演进 :引入容器化技术实现运行环境隔离与动态服务管理 3.15 第十四次演进 :以云平台承载系统 3. 架构设计总结 1.基本概念 在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍: 1 :分布式 系统中的多个模块在不同的服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在不同的服务器上,或两个相同功能的Tomcat 分别部署在不同的服务器上。 2

Why isn't Nginx changing the protocol to WebSocket?

萝らか妹 提交于 2020-12-15 21:10:33
问题 I am trying to run Laracvel-echo. Host configuration: location /socket.io { proxy_pass http://127.0.0.1:6002/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; } I catch headers with Socat: socat -v TCP-LISTEN:6002,fork TCP:127.0.0.1:6001 On my DEV server, I see that everything is ok, the protocol is changing (HTTP/1.1 101 Switching Protocols) : 2020/10/22 13:51:36.147102 length=175 from=0 to=174 HTTP/1.1 101

Why isn't Nginx changing the protocol to WebSocket?

末鹿安然 提交于 2020-12-15 21:00:12
问题 I am trying to run Laracvel-echo. Host configuration: location /socket.io { proxy_pass http://127.0.0.1:6002/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; } I catch headers with Socat: socat -v TCP-LISTEN:6002,fork TCP:127.0.0.1:6001 On my DEV server, I see that everything is ok, the protocol is changing (HTTP/1.1 101 Switching Protocols) : 2020/10/22 13:51:36.147102 length=175 from=0 to=174 HTTP/1.1 101