centos 7.2 make: *** No rule to make target `build', needed by `default'. Stop.
在新的服务器安装nginx,在make编译时报错:
make: *** No rule to make target `build', needed by `default'. Stop.
错误重现
进入nginx的目录,先编译参数:
./configure
--prefix=/usr/local/nginx
然后 make
报错如下:
百度上说是要安装前置依赖,像gcc ,openssl等,但是我make之前已经安装了这些依赖。
我的解决方式:
更新yum
yum update
通过 wget http://nginx.org/download/nginx-1.17.6.tar.gz 下载文件
更新完成后,先删除之前准备make的nginx包,然后重新解压一个。
安装前置库:
[root@cqakserver local]# yum install -y gcc pcre pcre-devel openssl openssl-devel gd gd-devel
进入nginx目录重新编译一次参数:
./configure --prefix=/usr/local/nginx
再次 make && make install
成功了。
说下这几个的作用
gcc 它可以编译 C,C++,Ada,Object C和Java等语言
pcre pcre-devel pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库
zlib zlib-devel zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装
openssl openssl-devel openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔
解压下载好的文件
tar -zxvf nginx-1.17.6.tar.gz
进入到 nginx-1.17.6文件夹下面
开始安装
指定安装路径
./configure --prefix=/software/nginx
这句话的意思是指定安装路径
--prefix=/software/nginx
编译
make
安装
make install
进入到安装nginx目录下面的sbin
启动命令
./nginx
打开浏览器访问你的IP地址,显示此页面说明nginx启动成功
从容停止服务
这种方法较stop相比就比较温和一些了,需要进程完成当前工作后再停止。
进入到安装nginx目录下面的sbin./nginx -s quit
立即停止服务
这种方法比较强硬,无论进程是否在工作,都直接停止进程。./nginx -s stop
查询nginx主进程号
ps -ef | grep nginx
从容停止 kill -QUIT 主进程号
快速停止 kill -TERM 主进程号
强制停止 kill -9 nginx