月度归档:2015年07月

HTTP负载均衡/反向代理相关参数测试

一、测试目的

  • 弄清楚HTTP Upstream 模块中Server指令的max_fails与fail_timeout参 数的关系、它们对后端服务器健康情况的检查起到了什么作用、它们的取值对Http proxy模块中的其它指令是否有直接或间接的影响等
  • 测试HTTP Proxy模块中proxy_next_upstream、proxy_connect_timeout、proxy_read_timeout、 proxy_send_timeout指令的作用、对nginx性能的影响、对后端服务器响应的处理等

继续阅读

使用nginx后如何获取用户ip及原理解释

问题背景:

在实际应用中,我们可能需要获取用户的ip地址,比如做异地登陆的判断,或者统计ip访问次数等,通常情况下我们使用request.getRemoteAddr()就可以获取到客户端ip,但是当我们使用了nginx作为反向代理后,使用request.getRemoteAddr()获取到的就一直是nginx服务器的ip的地址,那这时应该怎么办? 继续阅读

Nginx location匹配规则

一、匹配命令

  • ~      表示执行一个正则匹配,区分大小写
  • ~*    表示执行一个正则匹配,不区分大小写
  • ^~    表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录
  • =      进行普通字符精确匹配
  • @     定义一个命名的 location,使用在内部定向时,例如 error_page, try_files

继续阅读

Nginx upstream的分配方式

1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

2、weight

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

继续阅读

CentOS下查看SeLinux状态及关闭

setenforce是Linux的selinux防火墙配置命令 执行setenforce 0 表示关闭selinux防火墙。
setenforce命令是单词set(设置)和enforce(执行)连写,另一个命令getenforce可查看selinux的状态。

一、查看SELinux状态:

/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态
SELinux status:            enabled
Current mode:              permissive

SELinux status:            enabled
Current mode:              enforcing

继续阅读

sendfile详解

在apache,nginx,lighttpd等web服务器当中,都有一项sendfile相关的配置,在一些网上的资料都有谈到sendfile会提升文件传输性能,那sendfile到底是什么呢?它的原理又是如何呢?

继续阅读

线程与进程上下文切换的区别

线程上下文切换和进程上下文切换一个最主要的区别是线程的切换虚拟内存空间依然是相同的,但是进程切换是不同的。这两种上下文切换的处理都是通过操作系统内核来完成的。内核的这种切换过程伴随的最显著的性能损耗是将寄存器中的内容切换出。

继续阅读

tar压缩解压

一、基础命令

-c:建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

继续阅读

YUM详解之命令(二)

一、命令格式

# yum [options] < grouplist, localinstall, groupinfo, localupdate, resolvedep,
 erase, deplist, groupremove, makecache, upgrade, provides, shell, install, 
whatprovides, groupinstall, update, repolist, groupupdate, info, search, 
check-update, list, remove, clean, grouperase >

继续阅读

YUM详解之配置(一)

对于一个初次接触Linux的入门者来说,安装软件是比较困扰的事情,如何才能够快速安装、升级软件对于系统的使用者来说,至关重要,下面将逐个详细介绍强大的YUM功能。

一、什么是YUM?

YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及Centos中的Shell前端
软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖
性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、
删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

继续阅读

计算机的组成

一、计算机是什么?

俗称电脑。接受用户输入的命令与数据,经过中央处理器的数学与逻辑单元运算处理后,输出或存储有用的信息
,即可称为计算机。因此,只要具有输入设备(包括键盘、触摸屏幕)、输出设备(屏幕、显示器、打印机),
让你可以输入数据,使该机器产生信息的, 那就是一部计算机。

根据这个定义,计算机的范畴包括一般商店用的简易型加减乘除计算机、手机、卫星定位系统 (GPS)、
提款机 (ATM)、个人计算机 (PC)、笔记本电脑(netbook) 等等。

继续阅读