1.基本介绍
1.1基础信息
Nginx是一个高性能WEB服务器,除它之外Apache、Tomcat、Jetty、IIS,它们都是Web服务器,或者叫做WWW(World Wide Web)服务器,相应地也都具备Web服务器的基本功能。
nginx 性能高。可供访问量大。摩尔定律
apache动态页面稳定
nginx 处理静态页面,高并发比较稳定。
nginx 是 C语言开发的
1.2nginx优缺点
优点:
nginx应用场景,
1.静态资源服务。(本地文件系统响应服务)
2.提供反向代理服务,强大的性能。缓存功能,负载均衡模块,达到高的并发
3.api
nginx市场占有率:30%左右
极大利用操作系统,内存消耗比较小(官方测试3w,10个nginx。才150M内存)
官方5w并发
配置文件简单,很少的几个模块
BSD许可证,相对来说成本低。开源
稳定性比较好
扩展性比较好,文档全面。二次开发方便。
支持热部署。
缺点:
没有apache单进程,没有那么稳定。重定向规则没有apache强大。
apache:
Apache的发展时期很长,而且是目前毫无争议的世界第一大Web服务器,其有许多优点,如稳定、开源、跨平台等,但它出现的时间太长了,在它兴起的年代,互联网的产业规模远远比不上今天,所以它被设计成了一个重量级的、不支持高并发的Web服务器。在Apache服务器上,如果有数以万计的并发HTTP请求同时访问,就会导致服务器上消耗大量内存,操作系统内核对成百上千的Apache进程做进程间切换也会消耗大量CPU资源,并导致HTTP请求的平均响应速度降低,这些都决定了Apache不可能成为高性能Web服务器
2.0下载
linux中配置使用
下载
官网地址:http://nginx.org/
进入页面
主线版本也就是最新版本。但是没有经过测试我们一般不选择使用。
一般选择使用稳定版本
点击下载
通过xftp上传至linux中
3.0目录介绍
3.通过命令解压
tar -zxvf nginx-1.16.1.tar.gz
进入nginx目录
3.1 auto目录
里面有cc,这是编译使用的文件。os是判断操作系统特性提供给nginx使用
其他文件是辅助conf配置文件进行编译的
3.2 CHANGES目录
记录版本发布情况以及bug修复情况
3.3 CHANGES.ru
因为作者是俄罗斯人,所以提供一个els版本
3.4 conf目录
这是方便运维人员进行配置,比较重要的是nginx.conf。这些都是示例文件。等安装的时候都会copy
3.5 contrib目录
vim目录,提供语法检测
我们可以拷贝到家目录下
cp -r vim/* -/.vim
3.6html目录
默认发布目录。以及默认访问页面,以及nginx报错的错误页面
3.7src目录
nginx源码
4安装
4.1 安装基础条件
需要安装的四个
1、GCC——GNU编译器集合,可用来编译C语言程序。Nginx不会直接提供二进制可执行程序,只能下载源码进行编译。
yum -y install gcc
2、PCRE库(Nginx编译需要PCRE(Perl Compatible Regular Expression),是由Philip Hazel开发的函数库,目前为很多软件所使用,该库支持正则表达式。
yum install -y pcre-devel
3、zlib库(zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩。),zlib库用于对HTTP包的内容做gzip格式的压缩,如果我们在nginx.conf里配置了gzip on,并指定对于某些类型(content-type)的HTTP响应使用gzip来进行压缩以减少网络传输量。
yum install -y zlib-devel
4.OpenSSL库(在Nginx中,如果服务器提供安全网页时则会用到OpenSSL库,我们需要安装库文件和它的开发安装包(openssl和openssl-devel)。),如果我们的服务器不只是要支持HTTP,还需要在更安全的SSL协议上传输HTTP,那么就需要拥有OpenSSL了。另外,如果我们想使用MD5、SHA1等散列函数,那么也需要安装它。
yum -y install openssl-devel
当然也可以用一句话解决:
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre pcre-devel
4.2 安装命令
============>编译nginx
./configure --prefix=/usr/local/nginx
用了—prefix选项的好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。当然你也可以使用默认的
============>make
make
make结束后可再到中间目录objs中查看
============>make install(只会使用在第一次安装。如版本更新不可使用)
make install
此时可以看到我们指定的目录下产生nginx
里面有四个目录,分别是从我们安装目录复制过来的
sbin里面有启动nginx的脚本
5.0安装完成后配置
进入我们的安装目录
cd /usr/home/nginx/sbin
启动命令测试
./nginx
查看端口,nginx默认启动80端口
netstat -tnlp
此时通过浏览器访问服务器地址,访问到默认欢迎页面
启动完成
6.其他报错说明:
因为nginx是用c语言写的,需要需要安装gcc编译器
yum -y install -y gcc
若报错2
检测http重写模块,需要pcre库
若报错3
gzip。压缩图片使用的,可能网页遇到高清图片,入几个G的图片。所以使用压缩
yum install -y zlib-devel
若报错4
make: *** No rule to make target build', needed bydefault’. Stop.
则干脆执行安装如下的四个要素吧。
然后再依次再执行 configure ===make ==make install
编译
./configure --prefix=/usr/local/nginx
make
make
make install
make install