Linux安装nginx centos和ubuntu不同方式与异常情况处理

nginx安装过程

1、文件下载

方式1、官网下载安装包

http://nginx.org/download/nginx-1.18.0.tar.gz

方式2、使用命令下载

执行【wget https://nginx.org/download/nginx-1.18.0.tar.gz】命令就可以完成下载啦。

2、文件解压

tar -zxvf nginx-1.18.0.tar.gz

3、文件安装

3.1、执行编译命令

进入解压后nginx-1.18.0目录执行nginx编译命令

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre --with-http_realip_module --with-http_gzip_static_module

命令是用于配置 Nginx Web 服务器的编译选项。这个命令包含了多个选项,每个选项都用于启用 Nginx 的特定功能或模块。下面是每个选项的含义:

  • ./configure: 这是配置脚本的调用,用于设置编译参数。
  • --prefix=/usr/local/nginx: 指定安装 Nginx 的前缀目录,这里是 /usr/local/nginx
  • --with-http_ssl_module: 启用 SSL 模块,允许 Nginx 使用 HTTPS 协议。
  • --with-http_v2_module: 启用 HTTP/2 模块,支持 HTTP/2 协议。
  • --with-http_stub_status_module: 启用 HTTP 状态模块,允许访问 Nginx 的状态信息。
  • --with-pcre: 启用 PCRE 库支持,用于正则表达式匹配。
  • --with-http_realip_module: 启用 RealIP 模块,用于获取客户端的真实 IP 地址。
  • --with-http_gzip_static_module: 启用静态文件的 Gzip 压缩模块,用于压缩静态文件以减少传输数据量。

这个命令通常在从源代码编译 Nginx 时使用,确保编译出的 Nginx 包含了所需的模块和功能。在使用此命令之前,请确保您已经安装了所有必要的依赖项,并且已经下载了 Nginx 的源代码

出现以下内容代表完成
在这里插入图片描述

3.2、执行进行安装命令

make && make install

4、验证版本

cd /usr/local/nginx/sbin

./nginx -v

在这里插入图片描述

5、修改配置

cd /usr/local/nginx/conf
此目录下的nginx.conf 即是配置文件,对此调整或者覆盖即可。

6、常用相关指令

启动 ./nginx 

停止 ./nginx  -s stop

重读配置文件  ./nginx  -s reload 
(不建议使用,存在重启配置无效或者端口被占用不写错误日志无法发现)

测试配置文件是否修改正确   ./nginx -t

nginx异常状况

异常一、error: C compiler cc is not found

在3.1、执行编译命令时报错,代表系统无法找到 C 编译器。这通常意味着没有安装 C 编译器

checking for OS

 + Linux 5.15.0-41-generic x86_64
   checking for C compiler ... not found

./configure: error: C compiler cc is not found

1、安装 PCRE 库及其开发文件,这对于编译和运行依赖 PCRE 的软件(如 Nginx)是必需的。不同之处在于它们分别用于不同的 Linux 发行版和使用不同的包管理器

centos:

yum -y install pcre*

ubuntu:

sudo apt-get update

sudo apt-get install libpcre3 libpcre3-dev

2、检查ggc版本

gcc --version

在这里插入图片描述

若无法找到,则执行以下指令进行安装

centos:
yum -y install gcc gcc-c++ kernel-devel
ubuntu:
sudo apt-get install gcc

至此,此异常解决

异常二、error: SSL modules require the OpenSSL library.

在这里插入图片描述

在3.1、执行编译命令时报错,在编译支持 SSL 功能的软件(如 Nginx)时,需要 OpenSSL 库。SSL(安全套接层)是一种安全协议,用于在互联网上加密数据传输,而 OpenSSL 是一个开源的实现 SSL 和 TLS 协议的库。

要解决这个问题,你需要确保 OpenSSL 库已经安装在你的系统上。以下是安装 OpenSSL 库的步骤:

Ubuntu,使用以下命令安装 OpenSSL 库:

sudo apt-get update
sudo apt-get install libssl-dev

CentOS,使用以下命令安装 OpenSSL 库:

sudo yum -y install openssl-devel

异常三、the HTTP gzip module requires the zlib library.

在这里插入图片描述

安装 zlib 库:如果你希望启用 gzip 模块,你需要安装 zlib 库。对于基于 Debian 的系统,使用以下命令:

sudo apt-get update
sudo apt-get install zlib1g-dev

对于基于 Red Hat 的系统,使用以下命令:

sudo yum -y install zlib-devel

异常四: objs/Makefile:868: objs/src/event/ngx_event_openssl.o

3.2、执行进行安装命令时,出现以下报错内容

all warnings being treated as errors
make[1]: *** [objs/Makefile:868: objs/src/event/ngx_event_openssl.o] Error 1
[外链图片转存中...(img-aQmA8xpU-1718701603944)]
此问题为nginx版本不兼容openssl3系列版本,虽然可以通过一些方式降低版本来兼容,但更推荐升级到nginx1.25以上的版本(我升级了nginx-1.26.0版本)。重新编译安装即可

nginx-1.26.0地址:
https://nginx.org/download/nginx-1.26.0.tar.gz

至此安装结束

另外公众号建立了AI应用、学习面试资料、各类资源资讯的知识库和开发便捷工具箱,旨在一起打破信息壁垒,消除信息差。欢迎大家关注 程序技术新视野 微信公众号!

如果觉得不错,随手点个赞、收藏吧。
如果想第一时间收到推送,也可以给我个关注 ⭐
谢谢你看我的文章 ~
在这里插入图片描述

  • 16
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值