Nginx作为一款优秀的Web Server软件同时也是一款优秀的负载均衡或前端反向代理、缓存服务软件,很有必要搭建实验环境来对其进行学习。
1.实验环境
本次实验的测试环境使用的宿主机操作系统为Windows 7,在Vmware虚拟机安装CentOS 6.5,说明如下:
宿主机操作系统Windows 7
虚拟机安装的操作系统CentOS 6.5
虚拟机操作系统上网方式NAT
而当使用NAT的方式进行上网时虚拟机、宿主机之间的网络连接关系可如下所示:
关于为什么网络拓扑结构是这样的,这里不展开说明,可以参考《VMware虚拟机网络模式详解-NAT模式》,这篇文章深入地分析了VMware虚拟机使用NAT模式上网时的网络结构细节,相信看完这篇文章后,这里搭建Nginx的实验环境也就很容易理解了。
另外需要注意的是这里安装的CentOS 6.5操作系统使用了最小化安装,并且只定制安装了一些常用的开发工具如gcc等,其版本信息如下:
[root@linuxidc ~]# cat /etc/RedHat-release
CentOS release 6.5 (Final)
[root@linuxidc ~]# uname -r
2.6.32-431.el6.x86_64
[root@linuxidc ~]# uname -m
x86_64
2.编译安装Nginx
(1)安装Nginx依赖函数库pcre
pcre为“perl兼容正则表达式”perl compatible regular expresssions,安装其是为了使Nginx支持具备URI重写功能的rewrite模块,如果不安装Nginx将无法使用rewrite模块功能,但是该功能却十分有用和常用。
检查系统中是否有安装:
[root@linuxidc ~]# rpm -q pcre pcre-devel
上面可以看到并没有安装使用yum方式安装如下:
[root@linuxidc ~]# yum install pcre pcre-devel -y
......
Installed:
pcre-devel.x86_64 0:7.8-7.el6
Updated:
pcre.x86_64 0:7.8-7.el6
Complete!
安装完后检查一下是否已经成功安装:
[root@linuxidc ~]# rpm -q pcre pcre-devel
pcre-7.8-7.el6.x86_64
pcre-devel-7.8-7.el6.x86_64
可以看到已经安装成功。
(2)安装Nginx依赖函数库openssl-devel
Nginx在使用HTTPS服务的时候要用到此模块,如果不安装openssl相关包,安装过程中是会报错的。
检查系统是否有安装openssl相关包:
[root@linuxidc ~]# rpm -q openssl openssl-devel
openssl-1.0.1e-15.el6.x86_64
package openssl-devel is not installed
可以看到只是安装了opensslopenssl-devel还没有安装使用yum安装如下:
[root@linuxidc ~]# yum install -y openssl-devel
......
Complete!
再次检查:
[root@linuxidc ~]# rpm -q openssl openssl-devel
openssl-1.0.1e-48.el6_8.4.x86_64
openssl-devel-1.0.1e-48.el6_8.4.x86_64
可以看到都已经成功安装上。
(3)下载Nginx软件包
这里使用的Nginx版本为1.6.3,下载方式如下:
[root@linuxidc ~]# pwd
/root
[root@linuxidc ~]# mkdir tools
[root@linuxidc ~]# cd tools/
[root@linuxidc tools]# wget
......
100%[======================================>] 805,253 220K/s in 3.6s
2017-02-24 12:10:26 (220 KB/s) - anginx-1.6.3.tar.gza saved [805253/805253]
查看下载的Nginx软件包:
[root@linuxidc tools]# ll
total 788
-rw-r--r--. 1 root root 805253 Apr 8 2015 nginx-1.6.3.tar.gz
当然上面的方式是使用wget方式直接下载,前提是已经知道了Nginx的下载地址,也可以到官网下载,然后再上传到我们的CentOS操作系统上。
(4)开始安装Nginx
可以先在根目录下创建一个/application文件夹用来存放我们安装的软件:
[root@linuxidc ~]# mkdir /application
[root@linuxidc ~]# ls -d /application/
/application/
解压缩
将我们刚刚下载的Nginx软件包解压缩:
[root@linuxidc tools]# tar -zxvf nginx-1.6.3.tar.gz
......
[root@linuxidc tools]# ls
nginx-1.6.3 nginx-1.6.3.tar.gz
使用./configure指定编译参数
先创建一个nginx用户用来安装完成后运行nginx使用:
[root@linuxidc tools]# useradd nginx -s /sbin/nologin -M
[root@linuxidc tools]# tail -1 /etc/passwd
nginx:x:500:500::/home/nginx:/sbin/nologin
# -s参数后的/sbin/nologin指定不允许nginx进行登陆
# -M参数则是在创建该用户时不创建用户家目录
使用configure命令指定编译参数: