之前用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

centos源码安装R centos源码安装放到另一个_make

Mainline是还在开发中的主线版本。这里下载Stable稳定版,这里是1.14.0,右键复制下载地址。

wget http://nginx.org/download/nginx-1.14.0.tar.gz:下载到/roo目录

centos源码安装R centos源码安装放到另一个_源码安装_02

configure配置

在当前目录解包,进入nginx目录,这里有一个绿色的可执行文件configure,执行它会检查系统环境是否满足,并且根据当前环境进行一些编译配置,同时生成make编译文件。

centos源码安装R centos源码安装放到另一个_centos_03

./configure --prefix=/root/nginx:执行这个文件,同时传了一个参数,指定nginx的文件目录为/root/nginx,这个配置会写到编译文件。

如下,配置成功,如果不成功会有error提示。此时,相关参数路径中都包括有/root/nginx,如果你直接执行./configure不带后面的路径参数,默认安装目录为/usr,这里也会显示以/usr开头的各种路径。

centos源码安装R centos源码安装放到另一个_make_04

make编译

此时目录下多了一个Makefile编译文件。

centos源码安装R centos源码安装放到另一个_源码安装_05

make:执行这个命令,它是一个系统命令,默认会编译当前目录中的Makefile。如下,编译完成。

centos源码安装R centos源码安装放到另一个_centos源码安装R_06

make install安装

make install:

执行这个命令,将已经编译好的文件,安装到指定的目录,即之前配置的/root/nginx。下图是查看安装完成的nginx。


centos源码安装R centos源码安装放到另一个_centos_07

启动测试

 /root/nginx/sbin/nginx:以完整路径方式启动nginx,它会在后台运行。nginx默认使用80端口,怎么绕过防火墙参考13篇。

centos源码安装R centos源码安装放到另一个_configure_08

这里关闭了防火墙,在window中访问虚拟机IP

centos源码安装R centos源码安装放到另一个_configure_09

本篇主要讲从源码安装的过程,而不是讲nginx,所以在安装nginx时可能会遇到的一些问题这里忽略不讨论。