技术改变世界 阅读塑造人生! - shaogx.com

This string was altered by TechBlog\Plugins\Example.; This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.

Nginx平滑升级,并增加清除缓存模块

平滑升级nginx0.8.46到nginx1.0,并增加清除缓存模块源码下载:wget http://labs.frickle.com/files/ngx_cache_purge-1.0.tar.gzwget http://www.nginx.org/download/nginx-1.0.0.tar.gz1、升级步骤:... 全文

nginx平滑升级 nginx升级 nginx添加模块 nginx不重启升级 nginx添加缓存模块 休闲 职场

淘宝开发:Nginx模块Nginx

Nginx-Http-Footer-Filter想必大家都觉得很陌生,那我们就来认识一下它吧,这是淘宝开发的Nginx模块. 它用于nginx在响应请求文件底部追加内容. 今天抽空研究下这个插件,希望对大家有所帮助。为什么发现了这个插件,因为这几天公司需要在所有shtml文件后面追加一个js代码用来做统计(之前统计 代码没加齐全),在寻求解决方法的过程中找到了它认识了它最后喜欢上了它,你可能以为我用这个插件去实现了我要的功能,其实在认识他之前我用shell脚 本替换齐全了. 不过我还是决定研究测试一下Nginx-Http-Footer-Filter,或许以后的需求上能有帮助,更或许能帮上其他需要帮助的人.进入正题吧.... 全文

Nginx Nginx模块 Nginx-Http-Footer-Filter

Nginx系列教程之二:nginx 配置文件分析以及基本站点搭建

     书接上回nginx系列教程之一,本技术文档将对nginx的默认配置文件进行分析,然后针对配置文件中默认的内容进行基本的站点搭建演示,视为对自己的一个技术排盲。 笨蛋,笨蛋,你要加油啊!!! 1.nginx配置文件分析下面是nginx搭建好之后,默认的配置文件/usr/local/nginx/conf/nginx.conf的内容:#user  nobody; //该选项设置nginx以那个用户身份来启动nginx的work进程,nginx启动时,会启动两种类型的进程,一种是master进程,nginx的主进程,负责监控管理work进程,一种就是work进程,这是nginx的工作进程,用来处理用户的连接请求。默认情况下,没设置的话work进程是以nobody的用户身份来启动。为什么要说这一点,这跟linux系统中进程与进程,进程与用户身份直接权限的关系直接挂钩,有机会单独整理。worker_processes  1;  //该选项设置nginx的工作进程数,通常是设置为cpu核心数的1倍或者1.5倍,这个要看系统的使用环境,分为cpu密集型和IO密集型,通常nginx使用在反向代理的场景中,建议设置成和cpu的核心数一样#error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;以上几个选项都是设置nginx的错误日志存放位置以及记录日志的级别,关于日志的级别,这里不做细谈。一般用info即可#pid        logs/nginx.pid; //该选项设置nginx的pid文件的位置,默认是放在nginx安装目录下的logs目录下面,命名为nginx.pid文件... 全文

linux nginx nginx配置文件分析 nginx站点搭建

nginx学习总结三(nginx的基本配置)

装nginx简单但是必须装pcre这个包。 # tar zxvf pcre-7.9.tar.gz # cd pcre-7.9/ # ./configure # make && make install # tar zxvf nginx-0.7.65.tar.gz # cd nginx-0.7.65/ #./configure # make && make install useradd nginx -M -s /sbin/nologin 按照默认安装   vi /usr/local/nginx/conf/nginx.conf user  nginx nginx; #运行的用户和组 我一般是采用www用户的。 worker_processes  1; #指定工作的进程数 一般是CPU总核数的2倍或相等(我这里是虚拟机所以就一个) 例如是2个2核的写4就可以了 #error_log  logs/error.log;    #错误日志的路径 #error_log  logs/error.log  notice; #日志的级别{debug |info |notice |warn |errro |crit} #error_log  logs/error.log  info; #pid        logs/nginx.pid;   #pid 进程的日志 worker_rlimit_nofile 51200;   #打开文件的数量 events {     use epoll;   #使用的模型前面讲到了     worker_connections  51200;  #允许连接数 } http {     include       mime.types;     default_type  application/octet-stream;   #charset gb2312;   # 设置使用的字符集 ,多个网站的请勿乱设置。     #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '     #                  '$status $body_bytes_sent "$http_referer" '     #                  '"$http_user_agent" "$http_x_forwarded_for"'; #使用日志记录相当于apache的combined日志格式。。。     #access_log  logs/access.log  main;     sendfile        on;     #tcp_nopush     on;     #keepalive_timeout  0;     keepalive_timeout  65;     #gzip  on;    #gzip#头部压缩缓存是否开启。   include vhosts/*.conf;   #区配这个目录下的配置文件我习惯一个虚拟主机一个配置文件   } [root@localhost local]#mkdir  /usr/local/nginx/conf/vhosts/ [root@localhost local]# vi   /usr/local/nginx/conf/vhosts/hou.conf server {         listen       80;        #监听端口         server_name  test1.xywy.com;        #域名         #charset koi8-r;       #这个虚拟主机用的字符集         #access_log  logs/host.access.log  main;      #针对每个域名记录日志         location / {             root   /www; # 虚拟主机目录             index  index.html index.htm index.php; #访问页         }         #error_page  404              /404.html; #400错误吧         # redirect server error pages to the static page /50x.html         #         error_page   500 502 503 504  /50x.html;         location = /50x.html {             root   html;         }    } 保存启动服务,最基本的nginx的搭建就出来了 呵呵高兴吧。  本文出自 “学习要永恒” 博客,请务必保留此出处http://hzcsky.blog.51cto.com/1560073/473530... 全文

nginx学习总结三(nginx的基本配置) nginx 休闲 职场

关于nginx,你不可不知的几大特色功能

 关于nginx,你不可不知的几大特色功能nginx,轻量级的http服务与反向代理服务器软件,由于其并发能力较强,并且体积很小,所以被称为轻量级http服务软件。nginx的特色功能有:(1).URL rewrite:URL重写(2).reverse proxy:反向代理(3). 做缓存服务器(4). 实现对web服务的负载均衡(5). 安装第三方插件,实现健康状态监测(6).其他功能(这里不一一列举了)本实验示意图如下:... 全文

nginx监控 nginx负载均衡 nginx反向代理 nginx缓存服务器

一次有关nginx_status的测试,与check_nginx 插件的修改

   最近版本发布比较多,nginx的vhost变动也很频繁,上周增加了几个vhost。结果昨天负责监控同事过来跟我说 cacti 的Nginx Clients Stat 模板没有数据了, nagios的check_nginx 也一直报警。我的第一反应是nginx是不是出问题了,可是最近网站一直都很正常啊,于是到cacti页面上看了一眼,所有web服务器除了Nginx Clients Stat以外的所有服务数据都很正常,可以排除snmp的问题了。通过网页访问了一下 http://www.xman.com/nginx_status(域名纯属虚构),发现可以正常访问,这是怎么回事呢?    问题是上周最后一次更新后出现的,那次更新在所有vhost的最上面增加了一个vhost,会不会是这个vhost的问题呢?不过我通过其中一个vhost的域名访问 nginx_status 是正常的啊!    抱着试试的心态查看了一下 这个新加的vhost配置文件,ufo.conf ,里面并没有设置 nginx_status 我忽然明白了,如果有多个vhost 的情况下,第一个vhost里面如果没有打开nginx_status 则直接通过ip地址去访问网页的时候就会直接去访问第一个vhost,而新加入的vhost里面没有打开nginx_status ,结果就被404了。而cacti和nagios却恰恰是通过内网地址去访问nginx_status 的,   结果就是我的同事说的那样,cacti不出图,nagios抓不到数据。而我刚开始检查的时候是通过vhost的域名来访问nginx_status 的,所以没有出现问题!     为了证明我的想法我特意做了个实验,随意弄了4个vhost,前三个个不开nginx_status,最后一个打开nginx_status,通过域名来访问nginx_status,结果证明了我的猜测,后来我又 进行了几个测试,纠正了我之前认识上的一个错误,我之前认为 如果哪个vhost打开了nginx_status ,我访问vhost域名的nginx_status时候就能得到这个域名的nginx连接状态,后来通过 实验才知道原来不管你哪个vhost打开了nginx_status 访问他得到的值是整个nginx的状态,而不是某个vhost的连接状态。nginx wiki上面是这样描述nginx_status的This module provides the ability to get some status from nginx. This module is not compiled by default and must be specified using the --with-http_stub_status_module... 全文

nginx_status check_nginx nginx check vhost

制作Nginx控制脚本实现:service nginx restart|reload|stop|start

制作Nginx控制脚本实现:service nginx startservice nginx stopservice nginx restartservice nginx reload  vi /etc/init.d/nginx #!/bin/sh # # nginx - this script starts and stops the nginx daemin # # chkconfig: - 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse \ # proxy and IMAP/POP3 proxy server # processname: nginx # config: /usr/local/nginx/conf/nginx.conf # pidfile: /usr/local/nginx/logs/nginx.pid  # Source function library. . /etc/rc.d/init.d/functions  # Source networking configuration. . /etc/sysconfig/network  # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0  nginx="/usr/local/nginx/sbin/nginx" prog=$(basename $nginx)  NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"  lockfile=/var/lock/subsys/nginx  start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval }  stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval }  restart() { configtest || return $? stop start }  reload() { configtest || return $? echo -n $"Reloading $prog: " killproc $nginx -HUP RETVAL=$? echo }  force_reload() { restart }  configtest() { $nginx -t -c $NGINX_CONF_FILE }  rh_status() { status $prog }  rh_status_q() { rh_status >/dev/null 2>&1 }  case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2 esac ... 全文

service nginx nginx控制脚本 nginx启动脚本 休闲

通过Lua解释器来扩展丰富nginx功能,实现复杂业务的处理

Nginx 很强Lua    很强所以,他俩和一起也一定很强。。。。(多么霸道的逻辑呀~)lua_nginx_module   可以一步步的安装,也可以直接用淘宝的OpenRestyCentos和debian的安装就简单了。。这里说下freebsd的安装:... 全文

nginx lua api nginx lua nginx lua post nginx lua mysql

nginx 的限制连接模块limit_zone与limit_req_zone

nginx 上有两个限制连接的模块一个是 limit_zone 另一个是 limie_req_zone,两个都可以限制连接,但具体有什么不同呢? 下面是 nginx 官网上给的解释limit_req_zone Limit frequency of connections from a client. This module allows you to limit the number of requests for a given session, or as a special case, with one address. Restriction done using leaky bucket. limit_zone Limit simultaneous connections from a client. This module makes it possible to limit the number of simultaneous connections for the assigned session or as a special case, from one address. 按照字面的理解,lit_req_zone的功能是通过 令牌桶原理来限制 用户的连接频率,(这个模块允许你去限制单个地址 指定会话或特殊需要 的请求数 ) 而 limit_zone 功能是限制一个客户端的并发连接数。(这个模块可以限制单个地址 的指定会话 或者特殊情况的并发连接数) 一个是限制并发连接一个是限制连接频率,表面上似乎看不出来有什么区别,那就看看实际的效果吧~~~ 在我的测试机上面加上这两个参数下面是我的部分配置文件http{ limit_zone one  $binary_remote_addr  10m; #limit_req_zone  $binary_remote_addr  zone=req_one:10m rate=1r/s; server {  ...... limit_conn   one  1; #limit_req   zone=req_one  burst=120; ...... }     } 解释一下 limit_zone one  $binary_remote_addr  10m; 这里的 one 是声明一个 limit_zone 的名字,$binary_remote_addr是替代 $remore_addr 的变量,10m 是会话状态储存的空间 limit_conn one 1 ,限制客户端并发连接数量为1 先测试 limit_zone 这个模块 我找一台机器 用ab 来测试一下 命令格式为ab -c 100 -t 10 http://192.168.6.26/test.phptest.php 内容是phpinfo 看看日志里的访问... 全文

nginx防攻击 限制访问频率 nginx并发连接 nginx nginx limit

基于keepalived实现Director、ipvs、Nginx的高可用以及Nginx的双主模型

      Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现。       keepalived的安装:yum -y install keepalivedkeepalived的配置文件分三段:... 全文

Drictor Nginx Nginx高可用 Nginx双主 ipvs高可用 ipvsHA NginxHA

nginx学习总结二(nginx的启动停止以及版本平滑升级)

一.nginx的启动与停止。 1.nginx的启动 参数-c指定了配置文件的路径,默认以nobody用户启用这里我使用了nginx用户启动的,从图中可以看到 进程 master proess 他表示nginx的主进程。 2.nginx的停止。 kill 信号类型 `/usr/local/nginx/logs/nginx.pid` ①从容停止nginx kill - QUIT nginx主进程号。 kill - QUIT `/usr/local/nginx/logs/nginx.pid` ②快速停止nginx。 kill - INT或TEMR nginx主进程号 kill - INT或TEMR  `/usr/local/nginx/logs/nginx.pid` ③强制重启 pkill -9 nginx 或者killall nginx 3.nginx的平滑启动 首先你想要检查配置文件是否正确, 由图可以看出 -c 是指定配置文件的,上面也解释了。如果配置是默认路径的话可以不用  -c 指定。如果没有错误就可以平滑启动了。 kill - HUP nginx 主进程号 kill - HUP  `/usr/local/nginx/logs/nginx.pid` 4.nginx的信号控制 TERM INT快速关闭。 QUIT 从容停止。 HUP 平滑启动 USR1 重新打开日志文件,主要用在日志切割。 USR2 平滑升级可执行程序,主要用在版本升级。 WINCH 从容关闭工作进程 。 5nginx的平滑升级 ①用新的可执行程序替换老的可执行程序,对于编译安装的nginx可以将新的直接按装到旧的里面,最好备份下 ②kill  -USR2 旧版本的主进程号。 ③旧版本的nginx的主进程命名为.pid.oldbin ,然后执行新版本的nginx可执行程序,依次启动新的主进程和新的工作进程。 ④现在新,旧版本的nginx实例会同时运行,共同处理请求。要逐步停止旧版本的nginx,必须发送WINCH 信号给主进程,然后,它的工作进程将开始从容关闭。。 kill -WINCH 旧版本的主进程号。 ⑤一段时间后,旧的工作进程(work proess)处理了所有已连接的请求后退出,仅由新的工作进程来处理输入的请求了。 ⑥这个时候我们可以选择了 kill -HUP 旧的主进程号: nginx将在不重载配置文件的情况下启动它的工作进程。 kill -QUIT 新的主进程号:从容关闭其工作进程。 kill -TERM 新的主进程号:强制退出。 kill 新的主进程号或者旧的主进程号:会因为某原因新的工作进程不能退出,则向其发送kill信号。 新的主进程号推出后,旧的会移除.oldbin 后缀,恢复他的pid文件,这样,一切都恢复到升级之前了。 如果想尝试升级成功,而切也要保留新的服务器时,可以发送QUIT信号给旧的主进程,使其退出保留下新的服务器运行。本文出自 “学习要永恒” 博客,请务必保留此出处http://hzcsky.blog.51cto.com/1560073/473527... 全文

nginx学习总结二 (nginx的启动 停止以及 nginx 版本平滑升级)

nginx安装及配置

Nginx安装Nginx优点: 在性能上nginx占用更少的系统资源,在特定的场景应用中(静态数据)能支持更多的并发连接,达到更改的访问效率。在功能上,nginx是一个优秀的代理服务器和负载均衡服务器,还可以作为缓存服务器。最主要的优点是支持kqueue,epoll等网络IO事件模型,由此来支持高并发。... 全文

nginx nginx安装 nginx虚拟主机

用nginx

可以使用cacti、nagios等监控程序监控nginx服务器,不过有时候不用那么复杂,用nginx-rrd就能完成连接、请求的监控功能。首先编译安装nginx,注意加载stub_status模块,Nginx中的stub_status模块主要用于查看Nginx的一些状态信息. 本模块默认是不会编译进Nginx的,如果你要使用该模块,则要在编译安装Nginx时指定... 全文

linux nginx nginx-rrd 监控nginx

Nginx漏洞利用与安全加固

本文主要分为两大部分,第一部分介绍了Nginx的一些常见安全漏洞的形成原因、利用方法,并给出了相应的解决办法;第二部分介绍了Nginx安全加固时需要关注的主要内容。Nginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,可以稳定地运行在Linux、Windows等操作系统上,其特点是占用内存少,并发能力强。同其他软件一样,Nginx也出现过一些安全漏洞,利用这些漏洞可以对Web服务器进行渗透攻击。下面我们通过实例来介绍几个关于Nginx的安全漏洞,以及相应的漏洞利用方法。... 全文

Nginx Nginx漏洞 Nginx安全

在Nginx下对网站进行密码保护

很多时候我们需要对一些网站进行密码保护,比如团队内部的站点、demo站点等等。这里所说的密码保护是服务器级的,并非网站应用层的注册登录那一套,而是利用服务器配置和htpasswd文件来实现访问的密码验证。最后的效果就类似(不同浏览器的界面有所不同):如果认证失败,就会报HTTP错误:401 Authorization Required。要实现这样的功能,就需要更改服务器的配置,并设定好用于登录的用户名和密码。... 全文

Nginx Nginx保护 Nginx密码

别拿Nginx基础当秘籍

一、Nginx简介    Nginx是什么?    Nginx跟Apache一样都是提供Web服务功能的软件,但却通过nginx模块提供了比Apache更多更强大的功能。它采用的是事件驱动结构,使用异步套接字来接收客户端请求,是一种非阻塞结构,不使用单独的线程处理,极大的减少了服务器内存和CPU的开销    Nginx的基本功能        提供静态资源的web服务器,能缓存打开的文件文件描述符        支持http、smtp、pop3协议的反向代理服务器        支持缓存和简单的负载均衡和容错        支持FastCGI... 全文

nginx编译安装 nginx配置 nginx优化

Nginx是什么?Nginx介绍及Nginx的优点

Nginx是什么?Nginx介绍及Nginx的优点     Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发的,它已经在该站点运行超过两年半了。Igor Sysoev在建立的项目时,使用基于BSD许可。   据说他当初是F5的成员之一,英文主页:http://nginx.net 。... 全文

Nginx 优点 休闲 职场

Nginx反向代理和缓存设置

A服务器:192.168.0.1 (前端代理服务器)B服务器:192.168.0.2(后端主服务器)原理:用户访问一个www.xx.com域名,DNS指向代理服务器A,代理服务器根据域名本地查找有没有记录,如果有直接返回信息,没有,则将请求发给后端主服务器,后端服务器处理完将数据发给代理服务器,代理服务器将数据发给客户端。 代理服务器A:nginx.conf配置 http { ....  client_header_buffer_size 128k; #防止cookie过期,不能访问  proxy_temp_path /dev/shm/homebase;  proxy_cache_path /dev/shm/homebase_cache levels=1:2 keys_zone=cache:200m inactive=1d max_size=500m;   注:  proxy_temp_path  proxy_cache_path  需在同一分区  proxy_temp_path /dev/shm/?? 将文件放到内存中  proxy_temp_path /data/cache/?? 将文件放到目录中  keys_zone=cache 设置缓存区名称  keys_zone=cache:200m  设置缓存区的大小  inactive=1d 有效期 1d 1天 ,1h 1小时  max_size=500m; 设置最大大小   server {     ....   location / {   proxy_pass  192.168.0.2; 指定主服务器的ip地址   proxy_cache cache; 缓存区名称   proxy_cache_valid 200 304 12h;    proxy_cache_key $host$uri$is_args$args;   expires 1d;   proxy_redirect off;   proxy_set_header Host $host;   proxy_set_header X-Real-IP $remote_addr;   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   proxy_set_header X-Is-EDU 0;   } .... } } ... 全文

nginx反向代理 nginx反响代理 nginx负载均衡

Cacti监控Nginx并发

关于这一内容,在google上一搜就大把.内容如下:nginx编译时允许http_stub_status_module 然后在 nginx.conf 中 添加如下:server {     listen       80;         server_name  localhost;         #charset koi8-r;         #access_log  logs/host.access.log  main;         location / {             root   /data/web_server/index;             index  index.html index.htm;         }         location /NginxStatus {          stub_status on;          access_log off;        } } #killall -s HUP nginx  (令Nginx配置生效)然后就通过 http://localhost/NginxStatus 来访问到Nginx的运行状态页面 下载cacti for nginx 插件包: http://www.oschina.net/uploads/code/cacti-nginx.tar.gz 解压后一共有5个文件,首先把 get_nginx_socket_status.pl 以及 get_nginx_clients_status.pl 上传至服务器cacti 目录下scripts 并设置可执行权限跟755读写权限 检测插件(举例) # /data/cacti/scripts/get_nginx_clients_status.pl http://192.168.1.100/NginxStatus显示的内容跟 NginxStatus 状态页内容相当即可。 然后在cacti管理面板导入 导入的方式是 Import Templates  >  Import Template from Local File (浏览导入插件包另外2个文件) cacti_graph_template_nginx_clients_stat.xmlcacti_graph_template_nginx_sockets_stat.xml 但详细操作起来可能会有个麻烦! 导入 cacti_graph_template_nginx_clients_stat.xml 跟 cacti_graph_template_nginx_sockets_stat.xml  的时候,cacti 出现红字提醒: Error: XML: Hash version does not exist. 解决:因为你的 cacti 版本太旧了,去Cacti 下个最新版吧:http://www.cacti.net/download_cacti.php 导入成功后会显示:Import ResultsCacti has imported the following items:... 全文

cacti nginx cacti监控 nginx并发图 cacti监控nginx

2 3 4 5 6 7 8 9 10 11