概述
解释源码编译安装nginx软件的预编译,编译以及安装,分别是在做什么,需要注意什么?
1、预编译是来确定软件安装的路径,需要打开的模块选项,由gcc去编译,需要注意nginx的Rewrite模块和http模块会使用到pcre正则表达式语法,因此会使用到pcre库,需要安装pcre编译版本库,pcre-devel提供开发阶段的头文件和编译项目的源代码。zlib库提供压缩算法,因为模块需要使用gzip去压缩。openssl模块提供加密库和加密算法,使用ssl需要安装openssl模块。需要注意的是在预编译的时候需要把以上软件安装,如果系统找不到还需要去指定路径。
2、编译是把软件编译为可执行文件,在编译过程中一般会出现路径无效报错。可以检查开关选项和路径,重新执行configure预编译。
3、安装是把编译好的二进制文件进行安装,如果编译成功,一般安装不会出现问题。需要注意的是安装路径不能存在相同目录的目录。
一、通过yum安装nignx
http://nginx.org/en/linux_packages.html#RHEL-CentOS(国外,也可以使用国内epol进行安装)
将方框的代码复制到repo文件中,不多赘述
查看仓库是否开启
yum repolist all
yum-config-manager --disable/enable nginx stable repo
(禁用或者启用仓库)
yum install nginx
安装nginx
二、源码安装nginx
登录http://nginx.org官网,点击右侧的download:
下载nginx包,也可以本地下载,然后上传到服务器
wget http://nginx.org/download/nginx-1.16.0.tar.gz
解压缩
tar -zxvf nginx-1.16.0.tar.gz
安装依赖:
yum install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
修改nginx的版本:
vi /home/iflytek/nginx-1.16.0/src/core/nginx.h
预编译:
这里可以添加模块,nginx的模块有很多,比如添加监听模块
./configure --prefix=/home/nginx --with-http_stub_status_module
不添加模块直接执行即可
./configure --prefix=/home/nginx
编译并安装:
make && make install
启动服务:
切换到安装目录
查询80端口是否被占用: netstat -ntlp|grep 80
在sbin目录下执行nginx文件:./nginx
登录页面查看
![(https://img-blog.csdnimg.cn/20200715104531308.png)
版本信息: