首先,先对Nginx做一个简单的介绍,Nginx设计之初是想成为一个HTTP的服务器,是为了能够更好的解决C10K的问题。什么是C10K呢?就是指能够设计出一个同时连接处理10000条连接的Web服务器。为了实现这个目标,Nginx通过基于事件连接处理机制,并且操作系统也要使用相应的事件处理机制,这样可以更好的解决C10K的问题。
在我们了解Nginx之前,首先需要将其安装到服务器环境中,下面我们就来看看在不同的服务器上如何安装Nginx。
使用包管理器来安装Nginx
想要使用包管理器来安装Nginx,首先需要你的操作系统已经提供了Nginx的安装包,并且在有些情况下还需要服务器能够连接互联网。这样安装起来就相对简单,可以通过下面的这些方式来进行安装。
基于deb的Linux系统
sudo apt-get install nginx
基于rpm的Linux系统
sudo yum installl nginx
FreeBSD系统
sudo pkg-install -r nginx
通过上面的这些命令可以将Nginx安装到对应操作系统的默认标准路径下。使用起来也是比较简单的。当然这是在操作系统提供了相应的安装条件的情况下来完成。
在有些场景下,如果没有提供对应的安装条件就需要我们来通过其他的方式来进行安装。
在CentOS上安装Nginx
首先我们需要在yum源中添加对应的yum仓库配置。
sudo vi /etc/yum.repos.d/nginx.repo
#添加如下内容
[nginx]
name=nginx repo
baseurl=http://nginx.org/package/centos/7/$basearch/
gpgcheck=0
enableed=1
修改完成之后,就可以通过如下的命令来进行安装了,前提是服务器需要连接网络。
sudo yum install nginx
在Debian上安装Nginx
在Debian操作系统上安装Nginx可以按照如下的步骤进行。
1、通过http://nginx.org/keys/nginx_signing.key 下载并且安装对应的Nginx的key,将对应的签名key添加到apt的密钥中。
sudo apt-key add nginx_signing.key
2、将nginx.org 的仓库追加到/etc/apt/sources.list的文件中
vi /etc/apt/sources.list
deb http://nginx.org/packages/debian/jessie nginx
deb-src http://nginx.org/packages/debian/jessie nginx
3、通过如下的命令来安装nginx
sudo apt-get update
sudo apt-get install nginx
当然如果在有些情况下,这些内容都没有提供,我们就需要使用源码包的方式来进行安装,下面我们就来看看如何使用源码包的方式来进行安装。
从源码包安装Nginx
使用Nginx源码安装的时候,Nginx提供了两种独立的分支版本,一个是开发版本,一个是稳定版本。所谓的开发版本就是指该版本处于一个开发状态,随时会添加新的东西,也会因为有些东西没有测试到,在使用过程中出现各种各样的问题。而稳定版本则是在经过反复的测试之后可以完全提供正常的服务的版本,相较于开发版本可能功能没有那么多,但是每个提供的功能都是比较稳定的功能。
在使用源码方式进行安装的时候,除了正常的编译环境之外,如果在使用过程中想要去支持HTTPS请求就必须要使用到SSL和rewrite等模块功能,同时还需要提供OpenSSL和PCRE(Perl Compatible Regular Expressions)等的头文件。这个时候我们就需要根据具体的业务来引入具体的操作配置了。
第一步、安装或者是更新所需要的编译配置环境
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
第二步、上传压缩包并且进行解压缩
tar -zxvf nginx-1.19.1.tar.gz
第三步、查看配置nginx
cd nginx-1.19.1/
执行配置命令
./configure --prefix=/usr/local/nginx
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
第四步、编译并且安装
make && make install
到这里,整个的Nginx的编译安装就算是完成了。在编译Nginx的时候,会有更大的灵活性来选择自己想要的模块,以及功能。还可以指定其配置路径等等。下面我们就来看一下在编译Nginx的过程中一些配置选项。下面图中提供了一些通用的配置项,在上面的配置中我们也可以卡看到使用了--prefix 指定了nginx的安装路径 并且使用了--with 选项添加了相关的配置模块。
总结
上面我们介绍了几种情况下的Nginx安装方式,读者可以选择适合自己业务环境的方式来进行安装。