之前用rpm和tar安装的jdk,安装的是已经编译好的二进制文件,即计算机可识别的1010。而有些软件比如nginx和redis,只提供从源码进行安装,就是将其源代码文件(如C、java)编译成二进制文件,再安装到电脑上。本篇以nginx为例介绍如何从源码安装。
安装编译环境
就像编译java文件需要jdk环境一样,编译不同的程序也需要不同的环境,否则编译时会报错。执行以下命令:
yum -y install gcc pcre-devel zlib-devel:
这是编译nginx需要安装的三个环境
gcc、pcre-devel、zlib-devel
下载nginx源码
下载地址:http://nginx.org/en/download.html
Mainline是还在开发中的主线版本。这里下载Stable稳定版,这里是1.14.0,右键复制下载地址。
wget http://nginx.org/download/nginx-1.14.0.tar.gz:下载到/roo目录
configure配置
在当前目录解包,进入nginx目录,这里有一个绿色的可执行文件configure,执行它会检查系统环境是否满足,并且根据当前环境进行一些编译配置,同时生成make编译文件。
./configure --prefix=/root/nginx:执行这个文件,同时传了一个参数,指定nginx的文件目录为/root/nginx,这个配置会写到编译文件。
如下,配置成功,如果不成功会有error提示。此时,相关参数路径中都包括有/root/nginx,如果你直接执行./configure不带后面的路径参数,默认安装目录为/usr,这里也会显示以/usr开头的各种路径。
make编译
此时目录下多了一个Makefile编译文件。
make:执行这个命令,它是一个系统命令,默认会编译当前目录中的Makefile。如下,编译完成。
make install安装
make install:
执行这个命令,将已经编译好的文件,安装到指定的目录,即之前配置的/root/nginx。下图是查看安装完成的nginx。
启动测试
/root/nginx/sbin/nginx:以完整路径方式启动nginx,它会在后台运行。nginx默认使用80端口,怎么绕过防火墙参考13篇。
这里关闭了防火墙,在window中访问虚拟机IP
本篇主要讲从源码安装的过程,而不是讲nginx,所以在安装nginx时可能会遇到的一些问题这里忽略不讨论。