源码编译安装基本步骤:
1、下载
2、解压源码包
3、准备编译环境
4、检查(依赖,兼容),预编译
5、编译
6、安装
所以nginx的源码编译安装也是基本的6步:
1、下载源码
http://nginx.org/,单击download,下载最新的stable的源码
2、解压源码包
[root@master ~]# tar -zxvf nginx-1.10.2.tar.gz
3、准备编译环境
[root@master ~]# yum grouplist | grep Development
Additional Development
Desktop Platform Development
Development tools
Server Platform Development
[root@master ~]# yum groupinstall -y Development Tools
4、检查(依赖,兼容),预编译
[root@master nginx-1.10.2]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
4.1 查看帮助
[root@master nginx-1.10.2]# ./configure --help
--help print this message
--prefix=PATH set installation prefix
--sbin-path=PATH set nginx binary pathname
...................
4.2 预编译,设置安装路径
[root@master nginx-1.10.2]# ./configure --prefix=/opt/nginx-1.10.2
...........
checking for PCRE library in /usr/pkg/ ... not found
checking for PCRE library in /opt/local/ ... not found
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.
4.3 安装依赖
[root@master nginx-1.10.2]# yum search pcre
Loaded plugins: fastestmirror
pcre-devel.i686 : Development files for pcre
pcre-devel.x86_64 : Development files for pcre
pcre-static.x86_64 : Static library for pcre
pcre.i686 : Perl-compatible regular expression library
pcre.x86_64 : Perl-compatible regular expression library
[root@master nginx-1.10.2]# yum install -y pcre-devel
4.4 再次预编译,安装依赖
[root@master nginx-1.10.2]# ./configure --prefix=/opt/nginx-1.10.2
./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.
[root@master nginx-1.10.2]# yum search zlib
jzlib.x86_64 : JZlib re-implementation of zlib in pure Java
jzlib-demo.x86_64 : Examples for jzlib
jzlib-javadoc.x86_64 : Javadoc for jzlib
perl-Compress-Raw-Zlib.x86_64 : Low-Level Interface to the zlib compression library
perl-Compress-Zlib.x86_64 : A module providing Perl interfaces to the zlib compression library
perl-IO-Zlib.x86_64 : Perl IO:: style interface to Compress::Zlib
zlib.i686 : The zlib compression and decompression library
zlib.x86_64 : The zlib compression and decompression library
zlib-devel.i686 : Header files and libraries for Zlib development
zlib-devel.x86_64 : Header files and libraries for Zlib development
zlib-static.x86_64 : Static libraries for Zlib development
[root@master nginx-1.10.2]# yum install -y zlib-devel
4.5 重复执行预编译,直到没有错误
[root@master nginx-1.10.2]# ./configure --prefix=/opt/nginx-1.10.2
nginx path prefix: "/opt/nginx-1.10.2"
nginx binary file: "/opt/nginx-1.10.2/sbin/nginx"
nginx modules path: "/opt/nginx-1.10.2/modules"
nginx configuration prefix: "/opt/nginx-1.10.2/conf"
nginx configuration file: "/opt/nginx-1.10.2/conf/nginx.conf"
nginx pid file: "/opt/nginx-1.10.2/logs/nginx.pid"
nginx error log file: "/opt/nginx-1.10.2/logs/error.log"
nginx http access log file: "/opt/nginx-1.10.2/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
5、编译
[root@master nginx-1.10.2]# make
................
make[1]: Leaving directory `/root/nginx-1.10.2'
6、安装
[root@master nginx-1.10.2]# make install
make -f objs/Makefile install
.............
make[1]: Leaving directory `/root/nginx-1.10.2'
[root@master nginx-1.10.2]# cd /opt/nginx-1.10.2/
[root@master nginx-1.10.2]# ls
conf html logs sbin
7 、启动服务
[root@master nginx-1.10.2]# ./sbin/nginx
2021-5-10更新
tar -zxvf nginx-1.20.0.tar.gz
cd nginx-1.20.0/
./configure --prefix=/usr/local/nginx
sudo yum install -y pcre-devel
./configure --prefix=/usr/local/nginx
make
sudo make install
cd /usr/local/nginx/
sudo ./sbin/nginx