Nginx:Centos 离线编译安装 Nginx 及其依赖的 gcc 编译器

此文章发布于 10 个月前,部分信息可能已经过时,请自行斟酌确认。

前言

源码安装【三把斧】。

configure --user=xx --prefix=安装路径 --help 可以查看相关参数
make
make install

对于初学者来说,它难在需要很多库文件,如果系统没有,编译就无法进行,所以需要先下载依赖的库文件后再编译安装。

0、查看环境

1、查看是否已经安装并启动了 Nginx

# 查看 nginx 进程
ps -ef|grep nginx

# 查看与 nginx 有关的文件
find / -name nginx

2、查看依赖的库是否已安装

#一次安装4个插件
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

#一次安装如果有问题,可以试一下分开安装(上面命令执行成功了就无需执行以下命令了)
#安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境
yum install gcc-c++
#pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库
yum install -y pcre pcre-devel
#zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装
yum install -y zlib zlib-devel
#nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库
yum install -y openssl openssl-devel

一、联网环境安装 Nginx

yum -y install nginx

二、离线环境安装 Nginx

1、下载 Nginx

https://nginx.org/en/download.html
https://nginx.org/download/nginx-1.24.0.tar.gz

2、下载相关依赖库

安装前查看依赖的库是否已经安装,如果没有安装,需要先下载后安装依赖

#查看 C++ 环境是否安装(查看版本号)
gcc -v

#查看 zlib 是否安装
cat /usr/lib64/pkgconfig/zlib.pc

#查看 pcre 是否安装(查版本号)
pcre-config --version

先查看 CentOS 服务器版本:

cat /etc/centos-release

打开以下地址,根据服务器版本号进入相应目录,通过 Ctrl+F 搜索并下载依赖的 rpm 文件,注意64位系统需要下载 x86_64 结尾的文件。

下载地址(官方下载站):https://vault.centos.org
下载地址(阿里云镜像):http://mirrors.aliyun.com/centos

7.5.1804 版的下载地址为:https://vault.centos.org/7.5.1804/os/x86_64/Packages/

编译 nginx 依赖的 gcc、openssl 及其关联依赖的相关 rpm 参考如下:
以下为 7.5.1804 相关文件:

20240105_1752.jpg

3、安装依赖

逐个安装依赖库,要按顺序安装。

# 依次安装,若显示已安装则可忽略,如提供依赖其它库,则找一下有没有下载或去下载安装再次安装
rpm -ivh mpfr-3.1.1-4.el7.x86_64.rpm
rpm -ivh cpp-4.8.5-28.el7.x86_64.rpm
rpm -ivh kernel-headers-3.10.0-862.el7.x86_64.rpm
rpm -ivh glibc-headers-2.17-222.el7.x86_64.rpm
rpm -ivh glibc-devel-2.17-222.el7.x86_64.rpm
rpm -ivh gcc-4.8.5-28.el7.x86_64.rpm
rpm -ivh libstdc++-devel-4.8.5-28.el7.x86_64.rpm
rpm -ivh gcc-c++-4.8.5-28.el7.x86_64.rpm
rpm -ivh 依次安装其它依赖...

据说遇到 Error 时,在命令后面加上参数 --nodeps --force 也可以,没有验证。

批量安装并忽略依赖:

rpm -ivh *.rpm --nodeps --force

安装完 gcc 后查看版本

gcc -v

4、编译 nginx

# 建立目标目录
mkdir /opt/nginx

# 进入 nginx
cd nginx

# 开始编译(查看结果如果缺失依赖失败,按上面步骤安装依赖)
./configure --prefix=/opt/nginx
# https 需要安装 ssl
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

# 编译成功后安装
make
make install

编译截图:

20240105_1753.jpg

5、启动 nginx

# 进入 nginx 目录
cd /opt/nginx/sbin

# 启动
./nginx

# 测试
curl 127.0.0.1

# 停止
./nginx -s stop

6、防火墙配置

配置防火墙后使用其它电脑访问服务器IP测试是否能访问。

# 查看防火墙状态
systemctl status firewalld
# 查询开启的所有端口
firewall-cmd --list-port

# 开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent

# 重启防火墙
firewall-cmd --reload

7、配置 nignx

编辑配置文件,修改后重启 Nginx 即可。

vim /opt/nginx/conf/nginx.conf

三、常见问题

1、Nginx 编译报错:

configure: error: the HTTP rewrite module requires the PCRE library

解决方案:

按上文下载并安装依赖的 pcre 的库:pcre-developenssl-devel

联网环境下可直接命令安装:yum -y install pcre-devel openssl openssl-devel

四、其它

gcc 依赖包清单如下:

cpp-4.8.5-44.el7.x86_64.rpm
gcc-4.8.5-44.el7.x86_64.rpm
glibc-devel-2.17-317.el7.x86_64.rpm
glibc-headers-2.17-317.el7.x86_64.rpm
kernel-headers-3.10.0-1160.el7.x86_64.rpm
libmpc-1.0.1-3.el7.x86_64.rpm
mpfr-3.1.1-4.el7.x86_64.rpm

gcc-c+± 依赖包清单如下:

gcc-c+±4.8.5-44.el7.x86_64.rpm
libstdc+±4.8.5-44.el7.x86_64.rpm
libstdc+±devel-4.8.5-44.el7.x86_64.rpm

完~⛳

最后修改:2024 年 01 月 05 日 05 : 53 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论