最近在捣鼓离线版Nginx,本来打算制作成rpm包,可惜技术不到位,只能改变思路,把Nginx编译成免安装的二进制包,类似于Tomcat,直接去start就能使用,所以找到了nginx-portable,快捷编译Nginx为二进制包的工具。
安装:
Ubuntu&Debian:
sudo apt-get install perl git curl unzip build-essential libpcre3-dev libssl-dev -y
CentOS:
yum install gcc-c++ pcre perl git unzip pcre-devel zlib zlib-devel openssl openssl-devel -y
装完依赖后,我们安装nginx-portable主程序:
wget https://github.com/nuccch/nginx-portable/archive/master.zip;unzip master.zip cd nginx-portable-master/
到此,程序安装完成,我们开始进行编译,我们首先需要确定Nginx版本,具体看这里:
然后执行:
bash compile <nginx-version>
举个例子,我们要编译1.16.1版本:
bash compile 1.16.1
其他版本以此类推,编译完成后,会在当前目录的build目录下生成一个已经编译好的nginx文件:
nginx-<version>.tar.gz
把此文件直接拷贝到目标主机解压即可使用。
如何管理Nginx?
启动:cd /nginx/sbin && ./nginx 停止:./nginx -s stop 重启:./nginx -s reload 检查配置正确性:./nginx -t 查看Nginx版本信息:./nginx -v
Github项目地址:https://github.com/nuccch/nginx-portable
博客制作了一个1.16.1的免安装包,有需要自行下载:
bash compile 1.17.10
nginx version nginx-1.17.10 selected
nginx already downloaded.
Extracting file.
Configuring executable.
Building executable.
make: *** No rule to make target `build’, needed by `default’. Stop.
cp: cannot stat `objs/nginx’: No such file or directory
Cleaning up.