1. nginx介绍
nginx是一个高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。nginx能够选择高效的epoll,kqueue,eventport作为网络IO模型,官方测试nginx能够支撑5万个并发连接响应,并且cpu、内存等资源消耗却非常低,运行非常稳定。
2. 安装nginx
操作系统:centos6.5
nginx安装包:nginx-1.8.0.tar.gz
3. 下载
可以进入官网:http://nginx.org/en/download.html 下载nginx当前最新稳定版本版本。
nginx-1.12.2 pgp是linux环境下安装包
nginx/Windows-1.12.2 pgp是windows环境下安装包。
建议在linux环境下搭建nginx,windows环境下不推荐使用nginx,因为在windows下会有很多bug,搭建起来非常困难,在这里我们使用nginx-1.8.0.tar.gz作为linux环境下测试搭建。
4. 安装nginx所需要的第三方环境
首先,nginx是C语言开发,最初是在linux上运行,在这里的话使用Centos6.5作为nginx的安装测试环境来模拟真实的生产环境。另外,在安装nginx时,需要依赖以下几个第三方开发库,这些库要提前安装好:gcc ,pcre,zlib,openssl。
4.1 安装gcc和make
我们从官网上下载的是nginx源码,而nginx是C语言编写的,,如果要在linux环境下跑起来需要进行编译,而C语言的编译需要依赖gcc环境,为了方便makefile编译管理还要安装make环境。最好在安装nginx之前先检查一遍依赖的这些环境有没有安装好。
yum -y install gcc-c++ make
4.2 安装pcre
PCRE(Perl Compatible Regular Expressions)是一个用C语言编写的正则表达式函数库,由菲利普.海泽(Philip Hazel)编写,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库,pcre-devel是使用pcre开发的一个二次开发库,nginx也需要此库。
yum install -y pcre pcre-devel
4.3 安装zlib
zlib库提供了很多种压缩和解压缩的方式,因为在Nginx配置文件nginx.conf配置了gzip on,并指定了某些类型(content-type)的HTTP响应使用gzip来进行压缩以减少网络传输量,所以编译时必须把zlib库编译进Nginx,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel
4.4 安装openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https,简单来讲就是http的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL,而SSL功能需要open ssl,所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
5. 编译安装
nginx在linux环境下是通过命令编译源码的方式安装的。
将nginx-1.8.0.tar.gz拷贝至linux服务器。
使用tar命令解压nginx安装包:
tar -zxvf nginx-1.8.0.tar.gz
以上时解压后的nginx目录结构,重点了解conf和src两个目录。
conf:配置文件,这些源码包都是需要进行编译的
src:存放nginx源码目录
解压后,在nginx目录中并没有发现makefile文件,不能执行make命令。我们需要通过configure脚本来生成makefile文件,把这些文件安装到指定目录下。
6. configure编译参数
一般来说,直接执行./configure后面什么参数都不加的话,nginx默认会安装到/usr/localnginx目录下,如果你不想安装到/usr/local/nginx目录下可以使用configure编译参数来指定nginx的安装目录,但是你自己要记住这些安装目录,防止找不到这些文件。
另外,不同版本,选项可能会有些变化,可以在使用configure编译参数之前,使用configure --help来查看当前支持的选项列表。
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
注意:上边将临时文件目录指定为/var/temp/nginx,如果没有这个目录的话,需要在/var下创建temp及nginx目录
mkdir -p /var/temp/nginx
7. 编译安装nginx
然后就可以在nginx-1.8.0目录中执行make和make install命令进行编译安装了。在执行make install命令进行安装时,然后就会安装到我们之前通过configure指定的路径中
make
make install
执行make install命令时,在/usr/local目录下创建了nginx目录。
配置文件已安装到指定路径:cp conf/nginx.conf ‘/usr/local/nginx/conf/nginx.conf.default’
nginx安装成功后,进入nginx的目录可以看到以下几个目录:
conf目录是nginx的配置文件目录
Html目录是nginx默认的欢迎页面
sbin目录是启动nginx用到的
8. 访问nginx进行测试
通ifconfig命令查看ip地址
nginx安装成功后,然后启动nginx,通ifconfig命令查看ip地址,访问linux服务器以测试nginx是否正常启动。如果能看到nginx欢迎首页,说明nginx安装成功。
到此,nginx安装完毕。在下一篇中将介绍nginx的启动,停止