1. 获得安装包
在官方网站下载源代码:
编译安装开源版官网: nginx.org
商业版官网: nginx.com
我们可以打开如下官网连接,查看上述各个版本的信息:http://nginx.org/en/download.html
- 主线版本:“Mainline version”,也有人称之为主干版或者开发版,主线版本通常是最新的版本,主线版通常会加入一些最新的功能,这些功能可能没有经过太多的测试,所以相对可能不太稳定,在真正的生产环境中,通常不会使用主线版本。
- 稳定版本:“Stable version”,稳定版通常是由主线版发展而来的,稳定版通常是经过官方测试的,是官方认为相对稳定的版本,生产环境中通常会使用稳定版。
- 历史版本:“Legacy version”,当新的稳定版出现,那么原先的稳定版就会被归类到"历史版本"中去
2. 解决依赖性
yum install gcc openssl-devel pcre-devel -y
yum install gd-devel-2.0.35-26.el7.x86_64.rpm -y #这个安装包不是yum源中有的,需要在网上自行下载
3. 编译安装nginx
tar zxf nginx-1.16.1.tar.gz
cd nginx-1.16.1
./configure --prefix=/usr/local/nginx --with-http_realip_module --with-http_image_filter_module=dynamic --with-http_ssl_module
make && make install
nginx安装包解压后,里面会有如下目录:
注意:
- 执行
./configure --help
命令后,你可以看到很多选项信息,此处就不列出这些信息了 - 最常用的莫过于
--prefix
选项了,使用-prefix选项可以指定nginx编译安装的目录 - 除了一些常见的目录设置选项,你应该还会看到好多类似
--with-XXX_ module
或--without-XXX_ module
的选项,就是"模块"的概念,我们已经知道,nginx是高度模块化的,每个模块就代表一个功能,只有编译安装的方式才能指定安装哪些模块,不安装哪些模块。简单来说:--with-XXX_ module
选项表示指明安装对应的模块,--without-XXX_ module
选项表示指明不安装对应的模块 - 如果你没有明确使用
--with-AXX_ module
选项,那么默认情况下是不会安装"AXX模块"的 - 如果你没有明确使用
--without-BXX_ module
选项,那么默认情况下是会安装"BXX模块"的 - 使用
--with-XXX_ module
选项添加默认未加入的模块,使用--without-XXX_ module
选项排除默认会加入的模块 - 能够使用
--with-XXX_ module
和--without-XXX_ module
控制的模块都是"可选模块",也就是说我们可以选择是否安装它们。除了这些"可选模块" ,还有一些"标准模块"是默认安装到nginx中的,我们无法选择是否安装这些"标准模块"
4. 各目录的作用
安装完毕后,会生成五个目录,下面介绍各目录的作用:
- conf目录中存放了nginx相关的配置文件
- html目录是默认提供的web服务的"根目录"
- logs目录是nginx日志的存放目录。
- modules目录中存放了一些模块会用到的库。
- sbin目录中存放了nginx的二进制文件,我们需要使用nginx二进制文件启动nginx
5. 启动nginx
cd /usr/local/nginx
cd sbin/
./nginx
6. 测试
浏览器输入ip地址,如果访问到nginx默认发布页面,证明启动成功
7. 制作软链接
此选项可做也可不做,制作软链接后操作更加方便。启动nginx时就不需要使用nginx二进制文件了,直接输入nginx
即可启动
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/