NGINX

Nginx服务器防止被压力测试

最近经常用人帮忙做压力测试,用webbech或者ab等一些工具模拟并发压服务器,若服务器没有限制连接数或带宽,服务器很容易被压跨。 cat nginx.conf … http { … limit_conn_zone $binary_remote_addr zone=one:10m; #如果在1.1.8之后版本还用语法:limit_zone name $variable size,会报警告nginx: [warn] the “limit_zone” directive is deprecated, use the “limit_conn_zone” directive #这里,设置客户端的IP地址作为键。注意,这里使用的是$binary_remote_addr变量,而不是$remote_addr变 量。$remote_addr变量的长度为7字节 ...

Nginx下搭建Nagios监控平台

Nagios依赖PHP环境和perl环境,由于Nginx不支持Perl的CGI,需先来搭建Perl环境,Nagios原理介绍略。 1、下载最新稳定源码包和Perl脚本 mkdir nagios-cacti cd nagios-cacti wget http://www.cpan.org/modules/by-module/FCGI/FCGI-0.74.tar.gz wget http://www.cpan.org/authors/id/B/BO/BOBTFISH/FCGI-ProcManager-0.24.tar.gz wget //blog.linuxeye.com/wp-content/uploads/2013/04/perl-fcgi.pl wget http://jaist.dl.sourceforge.net/project/nagios/nagios-3.x/nagios-3.5.0/nagios-3.5.0.tar.gz wget http://nchc.dl ...

TCMalloc优化MySQL、Nginx、Redis内存管理

TCMalloc(Thread-Caching Malloc)与标准glibc库的malloc实现一样的功能,但是TCMalloc在效率和速度效率都比标准malloc高很多。TCMalloc是google-perftools工具中的一个(gperftools四个工具分别是:TCMalloc、heap-checker、heap-profiler和cpu-profiler),这个工具是开源的,以源码形式发布。如果觉得自己维护一个内存分配器麻烦的话,可以考虑将TCMalloc静态库连接到你的程序中。使用的时候和glibc中的malloc调用方式一模一样。你需要做的只是把TCMalloc的动态库或者静态库连接进你的程序中,你就可以获得一个高效,快速,安 ...

jemalloc优化MySQL、Nginx内存管理

  jemalloc源于Jason Evans 2006年在BSDcan conference发表的论文:《A Scalable Concurrent malloc Implementation for FreeBSD》。jason认为phkmalloc(FreeBSD’s previous malloc implementation by Kamp (1998))没有考虑多处理器的情况,因此在多线程并发下性能低下(事实如此),而jemalloc适合多线程下内存分配管理。从2007年开始以FreeBSD标准引进来。软件技术革新很多是FreeBSD发起,在FreeBSD应用广泛的技术会慢慢导入到Linux中。 Redis 2.4版本之后,默认使用jemalloc来做内存管理;tengine也整合jemalloc。jemall ...

PHP网站简单架构 – 单独跑php-fpm

这个架构比较简单,不做过多的说明 前端1台Nginx:负载均衡+nfs 中间2台php:php-fpm 后端1台数据库:MySQL 192.168.112安装Tengine 192.168.1.113/192.168.1.115安装php 192.168.1.114安装MySQL nfs配置 nfs服务端:192.168.1.112 检查nfs否已安装,这里我已经都安装了。 [root@linux2 ~]# rpm -qa | grep nfs nfs-utils-1.0.9-66.el5 nfs-utils-lib-1.0.8-7.9.el5 [root@linux2 ~]# rpm -qa | grep portmap portmap-4.0-65.2.2.1 如果你检查发现没有安装,可以使用一下命令进行安装; yum -y install nfs-utils portmap ca ...

Nginx泛解析的匹配域名绑定到子目录配置

网站的目录结构为: # tree /home/wwwroot/linuxeye.com /home/wwwroot/linuxeye.com ├── bbs │   └── index.html └── www     └── index.html 2 directories, 2 files /home/wwwroot/linuxeye.com为nginx的安装目录下默认的存放源代码的路径。 bbs为论坛程序源代码路径;www为主页程序源代码路径;把相应程序放入上面的路径通过;http://www.linuxeye.com 访问的就是主页http://bbs.linuxeye.com 访问的就是论坛,其它二级域名类推。 有2种方法,推荐方法一 方法一: server { listen 80; server_name ~^(?<subdom ...

Nginx 配置文件详解

  user nginx ; #用户 worker_processes 8; #工作进程,根据硬件调整,大于等于cpu核数 error_log logs/nginx_error.log crit; #错误日志 pid logs/nginx.pid; #pid放置的位置 worker_rlimit_nofile 204800; #指定进程可以打开的最大描述符 这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文 件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。 现在在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535。 这 ...

nginx 413报错解决

413 Request Entity Too Large

  1. server
  2. {
  3.     listen   80;
  4.     server_name  www.www.com;
  5.     #access_log    /export/servers/nginx/logs/qqqqqq.com;
  6.     location / {
  7.         proxy_pass     http://tomcat;
  8.         client_max_body_size    1000m;   #检查此配置项     限制上传文件大小
  9.     }
  10. }

用/export/servers/nginx/sbin/nginx -s reload重启下,上传文件的大小受限的问题就解决了。

Nginx负载均衡配置

负载均衡         先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可。 测试环境    由于没有服务器,所以本次测试直接host指定域名,然后在VMware里安装了三台CentOS。 测试域名  :a.com A服务器IP :192.168.5.149 (主) B服务器IP :192.168.5.27 C服务器IP :192.168.5.126 部署思路 A服务器做为主服务器,域名直接解析到A服务器(192.168.5.149)上,由A服务 ...