1.nginx的介绍
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,Nginx是一款轻量级的Web 服务器/反向代理服 务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
1.1反向代理
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
1.2负载均衡
负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上面,将原先请求到单个服务器上面的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,这就是所说的负载均衡。
1.3动静分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低单个服务器的压力。
2.nginx的安装
2.1nginx的安装(这里主要使用源码编译安装)
安装前准备
安装make:
安装g++
安装nginx
下面正式安装nginx:
注:需要亚男壮pcre,zlib,pcre为了重写rewrite,zlib为了gzip压缩。
1.选择源码安装目录
笔者这里选择的是/home/
2.安装pcre库
https://ftp.pcre.org/pub/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:
注:wget不存在需要yum安装
3.安装zlib包
http://zlib.net/zlib-1.2.11.tar.gz 下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包:
4.安装ssl
5.安装nginx
Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:
--with-pcre=/usr/local/src/pcre-8.44 指的是pcre-8.44 的源码路径。
--with-zlib=/usr/local/src/zlib-1.2.11指的是zlib-1.2.11 的源码路径。
6.启动nginx
测试:
关闭虚拟机防火墙:systemctl stop firewalld(服务器需要开启80端口)
访问ip地址:
2.2安装php-fpm
nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。
nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx
2.2.1什么是php-fpm
PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的,可以在 http://php-fpm.org/download下载得到。
PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。
PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。
安装前准备
安装php-fpm
php中文镜像地址:http://php.p2hp.com/downloads.php
安装完成之后,需要生成php-fpm配置文件
配置nginx.conf,使nginx将php动态请求发送到php解释器处理
其中server段增加如下配置,否则会出现NO input file specified.错误
创建php文件
在/usr/local/nginx/html下创建index.php文件,输入如下内容
启动php-fpm
浏览器访问:
3.nginx指令与server脚本
1.启动nginx
nginx安装完成后,切换到nginx安装目录中的sbin目录,通过执行该目录下nginx编译后的二进制文件即可启动程序。具体命令如下
执行上面的操作后,成功启动nginx,程序是没有任何提示的。我们可以使用ps命令查看nginx的运行状态,具体命令如下:
说明:
2.停止nginx
当需要停止nginx服务时,有多种停止方式,可以根据需求才取不同的方式,具体如下:
1). 立即停止服务
nginx程序允许传递选项 -s 表示发送信号到主进程,如果后面跟上stop表示停止服务
2). 从容停止服务
前面的stop是立即停止nginx服务,无论当前工作进程是否正在处理工作。而nginx提供的从容停止方式quit,是在完成当前工作任务后再停止。
3). 通过kill 或 killall 命令杀死进程
linux中提供了kill和killall命令可以杀死进程,从而让指定的进程停止运行
方式一:
方式二:
除了启动与停止nginx服务的操作,还有一些其他常用命令: