当前位置:首页 » 《随便一记》 » 正文

nginx 手动离线安装 及依赖包安装(pcre+zlib+openssl)

11 人参与  2024年04月25日 10:31  分类 : 《随便一记》  评论

点击全文阅读


@[TOC](nginx 手动离线安装 及依赖包安装(pcre+zlib+openssl))

在这里插入图片描述

博主 默语带您 Go to New World.
个人主页—— 默语 的博客??
《java 面试题大全》
《java 专栏》
?惟余辈才疏学浅,临摹之作或有不妥之处,还请读者海涵指正。☕?
《MYSQL从入门到精通》数据库是开发者必会基础之一~
? 吾期望此文有资助于尔,即使粗浅难及深广,亦备添少许微薄之助。苟未尽善尽美,敬请批评指正,以资改进。!?⌨


摘要:

本文介绍了使用源码编译安装 Nginx 的详细步骤及编译参数信息。首先,提到了必需的依赖包,包括 PCRE、Zlib 和 OpenSSL,并提供了它们的下载链接。随后,详细说明了编译环境的准备工作,包括检查和安装 gcc、g++、以及 make。接着,逐步介绍了如何安装各个依赖包以及 Nginx 的过程,包括解压、配置、编译和安装。最后,给出了启动 Nginx 的命令,并提示如何验证安装是否成功。

nginx:http://nginx.org/en/download.html (版本:nginx-1.20.1 tar.gz)
pcre:https://sourceforge.net/projects/pcre/files/pcre/8.45/(版本:pcre-8.45.tar.gz)
zlib:http://www.zlib.net/(版本:zlib-1.2.13.tar.gz)
oppenssl:https://www.openssl.org/source/(版本:openssl-1.1.0h.tar.gz)

可自行根据个人需要下载适合的依赖包

Pcre:是一个正则表达式库。(必须)

Zlib:是一个开源的数据压缩库,提供了对数据的无损压缩和解压功能。(必须)

Openssl:是一个开源的加密库,提供了各种加密算法和安全协议的实现。(必须)

本人把所有tar.gz包都放在 /usr/local/nginx目录下 ( 权限777 )

nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。
正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好

查看 gcc 版本

$ gcc -v$ gcc --version

查看 g++ 版本

$ g++ -v$ g++ --version

安装make:

yum -y install gcc automake autoconf libtool make

安装g++:

$ sudo yum install gcc g++# 通过下载列表中提供的地址下载安装包, 并安装

或者

命令:sudo yum install -y gcc-c++

gcc g++ 我这边离线安装问题比较多;大家自行尝试
离线版本:
阿里云盘下载地址:https://www.aliyundrive.com/s/VpQ3g4L6oub

提取码: sj94

1、安装pcre

解压:tar -zxvf pcre-8.34.tar.gz
进入解压目录:cd pcre-8.34
可要需要赋予权限 chmod 777 configure
配置:./configure
编译:make
安装:make install

如出现:

something went wrong bootstrapping makefile fragmentsfor automatic dependency tracking, If GNU make was not used, considerre-running the configure script with MAKE-"gmake" (or whatever isnecessary). You can also try re-running configure with the--disable-dependency tracking' option to at least be able to buildthe package (albeit without support for automatic dependency tracking)See config.log' for more details

把上面的make安装下就行了;安装make:

(各个版本pcre和pcre2下载网址:https://ftp.pcre.org/pub/pcre/)

2、安装OpenSSL

解压:tar -zxvf openssl-1.1.1g.tar.gz
进入解压目录:cd openssl-1.1.1g
可要需要赋予权限 chmod 777 config
配置:./config
编译:make
安装:make install

如果输入openssl version不显示版本号

在root用户下执行:

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

3、安装zlib

解压:tar -zxvf zlib-1.2.11.tar.gz
进入解压目录:cd zlib-1.2.11
可要需要赋予权限 chmod 777 configure
配置:./configure
编译:make
安装:make install

4.安装nginx

解压:tar -zxvf nginx-1.16.1.tar.gz
进入解压目录:cd nginx-1.16.1
接下来是重点!!!(下面配置这条命令在一行, 最好粘到文本编辑器里编辑一下)
配置:./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/nginxLibs/pcre-8.34 --with-zlib=/usr/local/nginxLibs/zlib-1.2.11 --with-openssl=/usr/local/nginxLibs/openssl-1.1.1g

或者(我用的下面的)

./configure --prefix=/data/soft/nginx/nginx/nginx-ywc --with-http_stub_status_module --with-http_ssl_module --with-pcre=/data/soft/nginx/nginx/pcre-8.45 --with-zlib=/data/soft/nginx/nginx/zlib-1.3.1 --with-openssl=/data/soft/nginx/nginx/openssl-1.1.0l

这段代码是在配置nginx编译安装的命令。具体解释如下:
/usr/local/nginx/nginx 这是一个新的路径

--sbin-path: 指定nginx可执行文件的路径。--conf-path: 指定nginx配置文件的路径。--pid-path: 指定nginx进程ID文件的路径。--with-http_ssl_module: 启用HTTP SSL模块,使nginx支持HTTPS。--with-pcre: 指定PCRE库的路径,PCRE是Perl Compatible Regular Expressions的缩写,用于nginx的正则表达式匹配。--with-zlib: 指定Zlib库的路径,Zlib是用于数据压缩和解压的库,nginx用它来处理HTTP数据的压缩。--with-openssl: 指定OpenSSL库的路径,OpenSSL用于实现SSL/TLS协议,从而使nginx支持HTTPS。

它指定了 Nginx 的可执行文件路径、配置文件路径、进程ID文件路径,并启用了 HTTP SSL 模块以支持 HTTPS。此外,它还指定了 PCRE、Zlib 和 OpenSSL 库的路径,这些库用于正则表达式匹配、数据压缩和解压、以及实现 SSL/TLS 协议,从而完善了 Nginx 的功能。

(查看若有错误去最下边常见错误找)
编译:make
安装:make install

安装成功没有错误的话,你的 /usr/local/nginx/nginx 目录下如下:

5.启动nginx
/usr/local/nginx/nginx
./sbin/nginx 启动
如果都没有错误,浏览器访问 服务器ip:80 端口,出现"Welcome to nginx!",恭喜你安装成功!

 ./sbin/nginx -V   #查看是否依赖

在这里插入图片描述

记得开放防火墙的端口:
查看防火墙开启的端口

firewall-cmd --list-ports

firewall-cmd --state 查看防火墙状态

为防火墙开启端口,可以使用以下命令添加端口规则

firewall-cmd --zone=public --add-port=YOUR_PORT_NUMBER/TCP --permanent

重新加载firewalld以使更改生效:

firewall-cmd --reload

一次性添加多个端口规则

firewall-cmd --zone=public --add-port=PORT1/TCP --add-port=PORT2/TCP --add-port=PORT3/UDP --permanent

案例demo:

sudo firewall-cmd --zone=public --add-port=8761/tcp --permanent

注意事项及常见错误解决方法:

1.安装nginx,执行配置一步后出现错误如下错误:(实踩大坑!!!)

src/core/ngx_regex.h:15:18: error: pcre.h

src/core/ngx_regex.h:24: error: expected specifier-qualifier-list before ‘pcre’

解决方法: 此时很有可能是pcre版本太高或者你装的是pcre2,去上边手动下载换低版本pcre即可.

2.nginx完全卸载

find / -name nginx 或者 find / -name nginx*

rm -rf 上边找到nginx路径

3.pcre卸载

在pcre解压目录下执行: sudo make uninstall

然后rm -rf pcre解压目录(或者直接手动右键删除 你懂的 简单暴力0.0)

总结:

本文提供了从源码编译安装 Nginx 的全面指南,涵盖了准备工作、依赖包的下载和安装、以及 Nginx 的配置和启动过程。通过详细说明每个步骤和命令的含义,读者可以轻松地跟随指南完成 Nginx 的安装。同时,提供了解决常见错误的方法,帮助读者顺利完成安装并验证是否成功。


参考博客:1,2

在这里插入图片描述


?? 希望本文能够给您带来一定的帮助?文章粗浅,敬请批评指正!??

如对本文内容有任何疑问、建议或意见,请联系作者,作者将尽力回复并改进?;(联系微信:Solitudemind )

点击下方名片,加入IT技术核心学习团队。一起探索科技的未来,共同成长。

在这里插入图片描述


点击全文阅读


本文链接:http://zhangshiyu.com/post/99899.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1