Nginx是一个高性能WEB服务器,除它之外Apache、Tomcat、Jetty、IIS,它们都是Web服务器,或者叫做WWW(World Wide Web)服务器,相应地也都具备Web服务器的基本功能。
Apache的发展时期很长,而且是目前毫无争议的世界第一大Web服务器,其有许多优点,如稳定、开源、跨平台等,但它出现的时间太长了,在它兴起的年代,互联网的产业规模远远比不上今天,所以它被设计成了一个重量级的、不支持高并发的Web服务器。在Apache服务器上,如果有数以万计的并发HTTP请求同时访问,就会导致服务器上消耗大量内存,操作系统内核对成百上千的Apache进程做进程间切换也会消耗大量CPU资源,并导致HTTP请求的平均响应速度降低,这些都决定了Apache不可能成为高性能Web服务器,
2.下载/安装 2.1windows官网下载官网地址:http://nginx.org/
2.2linux命令下载wget http://nginx.org/download/nginx-1.16.1.tar.gz
推荐选择稳定版本进行安装
3.目录介绍 3.1通过命令解压tar -zxvf nginx-1.16.1.tar.gz
进入nginx目录
3.1.1 auto目录里面有cc,这是编译使用的文件。os是判断操作系统特性提供给nginx使用
其他文件是辅助conf配置文件进行编译的
3.1.2 CHANGES目录记录版本发布情况以及bug修复情况
3.1.3 CHANGES.ru因为作者是俄罗斯人,所以提供一个els版本
3.1.4 conf目录这是方便运维人员进行配置,比较重要的是nginx.conf。这些都是示例文件。等安装的时候都会copy
3.1.5 contrib目录vim目录,提供语法检测
我们可以拷贝到家目录下
cp -r vim/* -/.vim3.1.6html目录
默认发布目录。以及默认访问页面,以及nginx报错的错误页面
4.安装 4.1 安装基础条件需要安装的四个
4.1.1 GCCGNU编译器集合,可用来编译C语言程序。Nginx不会直接提供二进制可执行程序,只能下载源码进行编译。
yum -y install gcc4.1.2 PCRE库
(Nginx编译需要PCRE(Perl Compatible Regular Expression),是由Philip Hazel开发的函数库,目前为很多软件所使用,该库支持正则表达式。
yum install -y pcre-devel4.1.3 zlib库
(zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩。),zlib库用于对HTTP包的内容做gzip格式的压缩,如果我们在nginx.conf里配置了gzip on,并指定对于某些类型(content-type)的HTTP响应使用gzip来进行压缩以减少网络传输量。
yum install -y zlib-devel4.1.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-devel4.2 安装命令
============>编译nginx
./configure --prefix=/usr/local/nginx
用了—prefix选项的好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。当然你也可以使用默认的
============>make
make
make结束后可再到中间目录objs中查看
============>make install(只会使用在第一次安装。如版本更新不可使用)
make install
此时可以看到我们指定的目录下产生nginx
里面有四个目录,分别是从我们安装目录复制过来的
sbin里面有启动nginx的脚本
5.安装完成后配置进入我们的安装目录
cd /usr/nginx/sbin
启动命令测试
./nginx
查看端口,nginx默认启动80端口
netstat -tnlp
此时通过浏览器访问服务器地址,访问到默认欢迎页面
启动完成
如果不能访问,请查看防火墙配置,nginx默认端口为80
linux防火墙配置
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



