1.nginx简介
nginx是一个高性能的HTTP和反向代理的web服务器,其特点是占有内存小,并发能力强。nginx支持热部署,它的启动特别容易,并且可以做到7*24 不间断运行
2.Linux安装nginx
###2.1 安装所需插件
(1)安装gcc
gcc是Linux下的编译器,可以编译C,C++,Ada,Object C和Java语言
首先查看是否安装了gcc gcc -v
没有安装的话提示找不到
安装命令:yum -y install gcc
(2)pcre、pcre-devel安装
pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,需要安装pcre库。
安装命令: yum install -y pcre pcre-devel
(3)zlib安装
zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装
安装命令:yum install -y zlib zlib-devel
(4)安装openssl
openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔。
安装命令:yum install -y zlib zlib-devel
2.2安装nginx
(1)下载nginx安装包
wget http://nginx.org/download/nginx-1.9.9.tar.gz
(2)把压缩包解压到指定位置
tar -zxvf nginx-1.9.9.tar.gz -C /usr/local/nginx
(3) 切换到 /usr/local/nginx下面,执行三个命令
./config
make
make install
(4) /usr/local/nginx目录结构
(5)配置nginx的配置文件nginx.conf文件,主要是端口
(6)启动nginx服务
切换目录到/usr/local/nginx/sbin下面
启动nginx命令 ./nginx
(7) 查看nginx服务是否启动成功
ps -ef | grep nginx
(8) 访问服务器IP
访问地址:IP:port
(9)开放端口
查看开放的端口号 firewall-cmd --list-all
设置开放的端口号 sudo firewall-cmd --add-port=80/tcp --permanent
重启防火墙 firewall-cmd --reload
3.nginx操作的常用命令
使用nginx命令必须先进入nginx的目录
1. 查看nginx的版本号
./nginx -v
2. 启动nginx
./nginx -s stop
3. 重新加载
./nginx -s reload
4.nginx配置文件
文件位置 安装路径下/conf
(1)全局块
配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
(2)events块
配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
(3)http块(配置最频繁的块)
以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
(4)service块
配置虚拟主机的相关参数,一个http中可以有多个server。
(5)location块
配置请求的路由,以及各种页面的处理情况。
5.反向代理
客户端对代理是无感知的,只需将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址
6.负载均衡
增加服务器的数量,将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器
7.动静分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力