自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 收藏
  • 关注

原创 nginx+tomcat+memcache会话保持

应用服务器的高可用架构设计主要基于服务无状态这一特性,但是事实上,业务总是有状态的,在交易类的电子商务网站,需要有购物车记录用户的购买信息,用户每次购买请求都是向购物车中增加商品;在社交类的网站中,需要记录用户的当前登录状态、最新发布的消息及好友状态等,用户每次刷新页面都需要更新这些信息。一. cookie在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次...

2020-02-29 18:33:28 193

原创 nginx+tomcat实现负载均衡

1.什么是tomcat?Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。其主要的应用场景是解析动态程序代码(JAVA) JSP程序可以处理Tomcat界面2. 配置nginx+tomcat实现负载均衡tar zxf jdk-7u79-linux-x64.tar.gz...

2020-02-29 17:22:59 125

原创 Nginx(openresty)+memcache构建页面缓存

測試相當於nginx+memcache作爲web服務器(OpenResty)(1)[kiosk@foundation8 ~]$ ab -c 10 -n 5000 http://172.25.254.1/index.php(2)ab -c 10 -n 5000 http://172.25.254.1/example.php...

2020-02-29 12:51:36 249

原创 php+memcache高速缓存

php增加memcache模块将php的bin目录路径添加到~./bash_profile中,为了方便调用1)memcache模块目录中没用configure文件,所以没有办法编译測試沒有用memcache用了memcache緩存後,測試速度很快,而且沒有失敗的請求。查看命中率。全部命中緩存...

2020-02-29 12:17:30 231

原创 wordpress博客搭建部署

wordpress博客搭建部署

2020-02-29 12:04:13 2876

原创 CGI、FastCGI和php-fpm的概念和区别

1. LNMP架构工作流程1.用户通过http协议发起请求,请求会先抵达LNMP架构中的nginx2.nginx会根据用户的请求进行判断,这个判断是由Location完成的3.判断用户请求的是静态页面,nginx直接进行处理4.判断用户的请求是动态页面,nginx会将该请求交给fastcgi协议下发5.fastcgi会将请求交给php-fpm管理进程,php-fpm管理进程接收到后会调用...

2020-02-29 11:44:00 319

原创 LNMP架构的基本搭建(mysql+php+nginx)

封装一台全新的虚拟机。编译安装mysql编译过程耗时比较长。编译完成后:备注:如果密码忘记,重新初始化,rm -rf data里面的数据,然后重新mysqld --user=mysql --initialize启动 mysql:systemctl start mysqldmysql_secure_installationmysql 安装配置完成php编译安装:编译过程时间也...

2020-02-29 11:08:46 562

原创 彻底理解CPU Load

我们经常去看Linux的平均负载。通过uptime或者top命令就可以显示出,平均负载的内容如下:load average: 0.09, 0.05, 0.01大多数人都对平均负载有所了解:三个数字分别代表了一分钟,五分钟和十五分钟三个时间段内的CPU负载的平均值,而数字越低越好。数字越高表示系统出现了问题或机器过载。但是负载值多少才最合适?谁也说不清楚。首先,我们从最简单的单核处理器的系...

2020-02-27 20:01:32 1235

原创 linux中权限对目录和文件不同的意义

Linux 系统内文件有三种身份(拥有者、群组与其他人),每种身份都有三种权限(rwx), 已知道能够使用 chown, chgrp, chmod去修改这些权限与属性,当然,利用ls -l去观察文件也没问题。那么,这些文件权限对于一般文件与目录文件有何不同呢?权限对文件的重要性文件是实际含有数据的地方,包括一般文本文件、数据库内容文件、二进制可执行文件(binary program)等等。 因...

2020-02-27 19:45:17 262

原创 进程间通信方式

进程间通信(IPC)介绍进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。一、管道管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。1、特点:它...

2020-02-27 19:21:39 204

原创 进程和线程的主要区别

根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过C...

2020-02-27 18:49:50 533

原创 nginx盗链和防盗链

盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。(1)盗链的操作:使用server3来盗链[root@server3 ~]# vim /usr/local/nginx/conf/nginx.c...

2020-02-27 16:46:51 442

原创 nginx的rewrite资源重定向

1. 在nginx中的资源重定向我们平常访问淘宝的时候都会使用taobao.com,而不是http://www.taobao.com,这就是重定向,当以taobao.com访问的时候定向到http://www.taobao.com。接下来,实现简单的重定向。(1)修改配置文件,设置虚拟主机,当以www.westos.org访问虚拟主机时,进行重定向,并重启。2)真机测试,写入解析备注:30...

2020-02-27 15:29:26 1353

原创 nginx下的https访问

为了提高web应用的安全性,现在基本上都需要支持https访问,配置Https访问如下:编译安装nginxconfigure arguments: --prefix=/usr/local/nginx --with-http_realip_module --with-http_image_filter_module=dynamic --with-http_ssl_module修改配置文件...

2020-02-27 14:36:12 234

原创 nginx图像的压缩

(1)server1中先下载图像压缩所需要的模块–with-http_image_filter_module=dynamic(2)server1中修改配置文件图片素材也有访问测试

2020-02-27 11:13:46 1285

原创 nginx获取真实访问物理主机的ip

1. 有nginx主机做反向代理的情况下后端nginx服务主机获取真实访问物理主机的ip真实的nginx后端服务主机需添加添加http_realip_module模块(1)所需环境:两台虚拟机:反向代理nginx主机:172.25.254.3真实Nginx主机:172.25.254.1(2)反向代理主机所作操作:[root@server3 html]# cat index.html ...

2020-02-27 11:03:08 887

原创 nginx之限制用户的访问

我们经常会遇到这种情况,服务器流量异常,负载过大等等。对于大流量恶意的攻击访问,会带来带宽的浪费,服务器压力,影响业务,往往考虑对同一个IP的连接数,并发数进行限制。1. 限制并发(1)vim /usr/local/nginx/conf/nginx.conf#gzip on; limit_conn_zone $binary_remote_addr zone=addr:10m; ...

2020-02-27 10:29:31 603

原创 nginx的平滑升级与版本回退

1. 平滑升级用新的虚拟机server3进行测试。(1)下载两个不同的nginx版本,一旧一新。对旧版本的nginx进行编译。[root@server3 ~]# lsnginx-1.14.2.tar.gz nginx-1.17.8.tar.gz[root@server3 ~]# tar zxf nginx-1.14.2.tar.gz [root@server3 ~]# lsngin...

2020-02-26 19:48:31 190

原创 nginx日志的切割

不论以何种方式访问Nginx主机,都会生成access.log连接日志,会造成该文件太大,故需要进行日志的切割,所谓切割,我们将实现的就是将每天的日志都存放在自己的日志文件中。操作如下:(1)日志的切割:[root@server1 ~]# cd /usr/local/nginx[root@server1 nginx]# lsclient_body_temp fastcgi_temp l...

2020-02-26 17:16:33 296

原创 漫谈5种IO模型

1. 什么是IOIO (Input/Output,输入\输出)即数据的读取(接收)或写入(发送)操作,通常用户进程中的一个完整IO分为两阶段:用户进程空间<–>内核空间、内核空间<–>设备空间(磁盘、网络等)。IO有内存IO、网络IO和磁盘IO三种,通常我们说的IO指的是后两者LINUX中进程无法直接操作I/O设备,其必须通过系统调用请求kernel来协助完成I/O动...

2020-02-26 14:09:03 280

原创 nginx配置指令root和alias的区别

在nginx中,我们可以通过location块与root指令结合的方式,将"url"与"服务器路径”建立起对应关系, location 块负责匹配url, root指令负责将匹配到的urI与服务器中某个具体目录对应起来其实,除了root指令,还有另外一个指令也能实现类似的功能,它就是alias指令,root指令和alias指令都能将url和服务器路径进行对应,但是,它们之间又存在一些区别loc...

2020-02-26 12:40:25 197

原创 详解nginx的master进程和worker进程

当你启动nginx以后,使用ps命令查看nginx进程, 会发现nginx进程不只有一个,默认情况下, 你会看到至少两个nginx进程,如下:[root@server1 ~]# ps -ef |grep nginx |grep -v greproot 2120 1 0 10:03 ? 00:00:00 nginx: master process nginxn...

2020-02-26 11:51:49 27683 3

原创 nginx之server模块中的多location配置

1. 配置文件修改 server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html;...

2020-02-26 11:01:05 2716

原创 nginx一些常用的基础命令

将/usr/local/nginx/sbin/nginx 这个启动脚本链接到/usr/local/sbin/使用就会很方便[root@server1 ~]# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin[root@server1 ~]# 1.nginx基础命令如果你想要看看nginx命令都有...

2020-02-26 10:08:54 305

原创 nginx实现反向代理和负载均衡

1. upstream +proxy_pass 模块实现反向代理http { include mime.types; default_type application/octet-stream; upstream westos { server 172.25.254.2:80;}server { ...

2020-02-25 19:03:45 195

原创 nginx基础以及搭建一个简单的静态web服务器

1.什么是nginxNginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BSD-like协议下发行。由俄罗斯的程序设计师lgor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同...

2020-02-25 17:59:39 910

原创 虚拟内存

1. 局部性原理时间局部性:如果执行了程序中的某条指令,那么不久后这条指令很有可能再次执行:如果某个数据被访问过,不久之后该数据很可能再次被访问。(因为程序中存 在大量的循环)空间局部性:一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也很有可能被访问。(因为很多数据在内存中都是连续存放的,并且程序的指令也是顺序地在内存中存放的)如何应用局部性原理?高速缓冲技术的思想:将近期会频繁...

2020-02-25 11:52:54 156

原创 基本分段存储管理方式

1. 分段进程的地址空间:按照程序自身的逻辑关系划分为若干个段,每个段都有一个段名( 在低级语言中,程序员使用段名来编程),每段从0开始编址内存分配规则:以段为单位进行分配,每个段在内存中占据连续空间,但各段之间可以不相邻。2. 分段、分页管理的对比页是信息的物理单位。分页的主要目的是为了实现离散分配,提高内存利用率。分页仅是系统管理上的需要,完全是系统行为,对用户是不可见的。段是信息...

2020-02-25 11:40:29 2322

原创 基本分页存储管理

1. 内存空间的分配与回收连续分配:为用户进程分配的必须是一个连续的内存空间。非连续分配:为用户进程分配的可以是一些分散的内存空间。2. 非连续分配假设进程A大小为23MB,但是每个分区大小只有10MB,如果进程只能占用一个分区,那显然放不下。解决思路:如果允许进程占用多个分区,那么可以把进程拆分成10MB+10MB+3MB三个部分,再把这三个部分分别放到三个分区中(这些分区不要求连续...

2020-02-25 11:27:29 1079

原创 HTTP和HTTPS的区别及HTTPS加密算法

1. HTTP和HTTPS的概念HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏 览器更加高效,使网络传输减少。http协议属于明文传输协议,交互过程以及数据传输都没有进行加密,通信双方也没有进行任何认证,通信过程非常容易遭遇劫持、监听、篡改,严重情况下,会造成恶意的流量劫持等...

2020-02-24 20:51:35 657

原创 SSL协议到底工作在OSI模型中的哪一层

一、SSL是啥?SSL(Secure Socket Layer安全套接层)以及其继承者TSL(Transport Layer Security 传输层安全)是为了网络通信安全 提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。二、SSL具体有啥内容?SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议(...

2020-02-24 20:42:31 25442

原创 局域网中广播风暴产生原因及解决方法

什么是广播风暴呢?处于同一个网络的所有设备,位于同一个广播域。也就是说,所有的广播信息会播发到网络的每一个端口,即使交换机、网桥也不能阻止广播信息的传播。因此同一时间只能有一个广播信息在网络中传送。当网络上的设备越来越多,广播所占用的时间也会越来越多,多到一定程度时,就会对网络上的正常信息传递产生影响,轻则造成传送信息延时,重则造成网络设备从网络上断开,甚至造成整个网络的堵塞、瘫痪,这就是广播...

2020-02-24 20:31:41 14610

原创 DNS何时使用TCP协议,何时使用UDP协议?

DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类。但很少有人知道DNS分别在什么情况下使用这两种协议。TCP与UDPTCP:面向连接的协议,提供可靠的数据传输,一般服务质量要求比较高的情况,使用这个协议。UDP:用户数据报协议,是一种无连接的 。DNS在进行区域传输的时候使用TCP协议,其它时候则使用UDP协议。DNS的规...

2020-02-24 20:12:09 1968

原创 浅谈TCP滑动窗口机制

1. 浅谈TCP滑动窗口机制概念  滑动窗口是两台主机间传送数据时的缓冲区。每台TCP /IP 主机支持两个滑动窗口,  一个用于接收数据, 另一个用于发送数据。窗口尺寸表示计算机可能缓冲的数据量大小。2. 工作原理1. 滑动窗口工作过程  TCP 协议通过采用滑动窗口的方式控制数据流的传输。在传输层中, 数据按照一定的  格式打成大小相同的包。每一个滑动窗口中包含一定数目的数据包,...

2020-02-24 19:57:39 2410

原创 TCP释放连接时为什么time_wait状态必须等待2MSL时间

思考:为什么上图中的A在TIME-WAIT状态必须等待2MSL时间呢?第一,为了保证A发送的最后一个ACK报文能够到达B。这个ACK报文段有可能丢失,因而使处在LAST-ACK状态的B收不到对已发送的FIN+ACK报文段的确认。B会超时重传这个FIN+ACK报文段,而A就能在2MSL时间内收到这个重传的FIN+ACK报文段。如果A在TIME-WAIT状态不等待一段时间,而是在发送完ACK报文段...

2020-02-24 19:43:27 5072 1

原创 三次握手连接阶段,最后一次ACK包丢失会进入什么样的一个状态

在 TCP 建立连接的三次握手连接阶段,如果客户端发送的第三个ACK包丢了,那么客户端和服务端分别进行什么处理呢?相信了解 tcp 协议的人,三次握手的过程肯定很了解了。第三次的 ack 包丢失就是说在 client 端接收到 syn + ack 之后,向 server 发送的 ack 包 由于各种原因 server 没有收到。这时 client, server 分别会进行怎样的处理呢?Ser...

2020-02-24 19:32:47 4220

原创 TCP和UDP区别

1. TCP与UDP的区别1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接;2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,也不保证可靠交付;3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的;4、UDP没有拥塞控制,因此网络出现拥塞不会...

2020-02-24 19:24:41 146

原创 覆盖与交换

1. 内存管理的概念2. 覆盖技术早期的计算机内存很小,比如IBM推出的第一 台PC机最大只支持1MB大小的内存。因此经常会出现内存大小不够的情况。后来人们引入了覆盖技术,用来解决“程序大小超过物理内存总和”的问题覆盖技术的思想:将程序分为多个段(多个模块)。常用的段常驻内存,不常用的段在需要时调入内存。内存中分为一个“固定区”和若干个“覆盖区”。需要常驻内存的段放在“固定区”中,调...

2020-02-24 14:18:10 559 1

原创 内存的基础知识

1. 内存的基础知识2. 什么是内存,有何作用内存是用于存放数据的硬件。程序执行前需要先放到内存中才能被CPU处理。思考:在多道程序环境下,系统中会有多个程序并发执行,也就是说会有多个程序的数据需要同时放到内存中。那么,如何区分各个程序的数据是放在什么地方的呢?方案:给内存的存储单元编地址内存地址从0开始,每个地址对应一个存储单元内存中也有一个一个的“小房间”,每个小房间就是一个“...

2020-02-24 13:41:58 11793 1

原创 死锁的处理策略之检测和解除

1. 死锁的处理如果系统中既不采取预防死锁的措施,也不采取避免死锁的措施,系统就很可能发生死锁。在这种情况下,系统应当提供两个算法:①死锁检测算法:用于检测系统状态,以确定系统中是否发生了死锁。②死锁解除算法:当认定系统中已经发生了死锁,利用该算法可将系统从死锁状态中解脱出来。2. 死锁的检测为了能对系统是否已发生了死锁进行检测,必须:①用某种数据结构来保存资源的请求和分配信息:②...

2020-02-23 16:09:15 2249 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除