1、解释源码安装nginx软件的预编译,编译以及安装,分别是在做什么,需要注意什么?
预编译(configure):
./configure 00prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module
主要是检查Linux操作系统安装该软件所需依赖环境,库文件,检测Linux是否在GCC编译环境中(C编译器),指定软件滕鼎的功能模块,,最终会产生Makefile文件。
编译(make):
主要是通过make编译工具,读取Makefile文件,调用Linux系统下GCC编译(C编译器),将软件包中的源代码生成二进制文件。 Makefile问价用途,告知make编译工具,在编译源代码文件时,从那 源代码文件开始编译至那个源代码文件结束编译。
安装(install):
主要是将第二步make编译生成的二进制文件,拷贝或者按照至Linux操作系统指定的按照目录: --prefix=/usr/local/nginx
2、通过源代码方式编译安装nginx,并且顺利发布nginx的默认页面,通过浏览器看到的响应头信息中nginx版本为server:JFWS。
下载包并解压,进行预编译:
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
wget http://nginx.org/download/nginx-1.16.0.tar.gz tar xf nginx-1.16.0.tar.gz cd nginx-1.16.0 ./configure --prefix=/usr/local/nginx/ --with-http_stub_status_module --with-http_ssl_module
make 编译之前需先改以下3个文件:
第一个:/nginx-1.16.0/src/core/nginx.h sed -i 's/1.16.0/2020/g;s/nginx/JFWS/g;s/NGINX/JFWS/g' /nginx-1.16.0/src/core/nginx.h
第二个: /nginx-1.12.2/src/http/ngx_http_header_filter_module.c sed -i '/Server/s/xxxx/JFWS/g' /nginx-1.12.2/src/http/ngx_http_header_filter_module.c
第三个: /nginx-1.12.2/src/http/ngx_http_special_response.c sed -i '/s/xxxx/JFWS/g' /nginx-1.12.2/src/http/ngx_http_special_response.c
编译/ 安装:
make && make install /usr/local/nginx/sbin/nginx -v /usr/local/nginx/sbin/nginx -t /usr/local/nginx/sbin/nginx ps -ef|grep nginx netstat -nutlp|grep 80
WEB界面浏览: ip+80端口 Ctrl+Shift+i 或者Ctrl+12查看此nginx服务版本: