nginx汇总

nginx简介

Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器,Nginx是俄罗斯人编写的一款高性能的HTTP和反向代理服务器,在高连接并发的情况下,它能够支持高达50000个并发连接数的响应,但是内存、CPU等系统资源消耗却很低,运行很稳定。目前Nginx在国内很多大型企业都有应用,据最新统计,Nginx的市场占有率已经到33%左右了。而Apache的市场占有率虽然仍然是最高的,但是是呈下降趋势。而Nginx的势头很明显。选择Nginx的理由也很简单:第一,它可以支持5W高并发连接;第二,内存消耗少;第三,成本低,如果采用F5、NetScaler等硬件负载均衡设备的话,需要大几十万。而Nginx是开源的,可以免费使用并且能用于商业用途
常见的应用服务器: Apache/Microsoft IIS/Tomcat/Lighttpd/Nginx


请求流程图.png
常用Web服务器介绍

apache、Nginx、tomcat、weblogic、iis、jboss、websphere、
jetty、netty、lighttpd、glassfish


路由功能.png

集群负载功能.png

静态服务器功能.png

nginx.conf配置文件结构

nginx.png

main(全局设置)
events设定nginx的工作模式及连接数上限
http 服务器相关属性
server(虚拟主机设置)
upstream(上游服务器设置,主要为反向代理、负载均衡相关配置)
location(URL匹配特定位置后的设置)

#user  nobody;  #主模块命令, 指定Nginx的worker进程运行用户以及用户组,默认由nobody账号运行。
worker_processes  1;#指定Nginx要开启的进程数。
worker_rlimit_nofile 100000;  #worker进程的最大打开文件数限制
#error_log  logs/error.log;  #用来定义全局错设日志文件的路径和日志名称,日志输出级别有debug,info,notice,warn,error,crit 可供选择,其中debug输出日志最为详细,面crit(严重)输出日志最少。默认是error
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;#用来指定进程id的存储文件位置
events {  #设定nginx的工作模式及连接数上限
use epoll;#nginx支持的工作模式有select ,poll,kqueue,epoll,rtsig,/dev/poll
worker_connections  1024;#进程最大连接数受到系统最大打开文件数的限制,需要设置ulimit
}

nginx日志.png

查看日志命令tail -f /usr/local/nginx/logs/access.log

日志配置及分割

①开启系统日志,如果不开启,则会看不到定时任务日志
/etc/init.d/rsyslog start
②:定时任务开启
/etc/rc.d/init.d/crond start
③:编写脚本logcut.sh

#设置日志文件存放目录
LOG_HOME="/usr/local/nginx/logs/"
#备分文件名称
LOG_PATH_BAK="$(date -d yesterday +%Y%m%d%H%M)"
#重命名日志文件
mv ${LOG_HOME}/access.log ${LOG_HOME}/access.${LOG_PATH_BAK}.log
mv ${LOG_HOME}/error.log ${LOG_HOME}/error.${LOG_PATH_BAK}.log
#向nginx主进程发信号重新打开日志
kill -USR1 `cat ${LOG_HOME}/nginx.pid`

④:配置cron
*/1 * * * * /usr/local/nginx/sbin/logcut.sh

Linux安装nginx

一:源码编译方式(推荐)
①:安装makeyum -y install autoconf automake make
②:安装g++ yum -y install gcc gcc-c++
一般系统中已经装了了make和g++,无须再装
③:安装nginx依赖的库

yum -y install pcre pcre-devel    
yum -y install zlib zlib-devel
yum install -y openssl openssl-devel

④:下载nginx源码
wget http://nginx.org/download/nginx-1.9.15.tar.gz
⑤:解压源码
tar -zxvf nginx-1.9.0.tar.gz
⑥:定位到nginx目录
cd nginx-1.9.0
⑦:配置
(--prefix指定安装目录
--with-http_ssl_module安装https模块
creating objs/Makefile 代表编译成功)
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
⑧:编译 &&安装
make && make install
二·:yum方式(安装的模块比较分散)
①:yum扩展源
yum install epel-release -y
②:安装nginx
yum install nginx -y
三:常用命令
①:启动命令 ./nginx -c nginx.conf 如果不指定,默认为NGINX_HOME/conf/nginx.conf
②:停止 ./nginx -s stop
③:退出 ./nginx -s quit
④:重新加载nginx.conf ./nginx -s reload

你可能感兴趣的:(nginx汇总)