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

03-23 9001阅读 0评论

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

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

博主 默语带您 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   #查看是否依赖
    

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

    记得开放防火墙的端口:

    查看防火墙开启的端口

    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

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


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

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

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

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


免责声明
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明。
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所
提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何
损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在
转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并白负版权等法律责任。

手机扫描二维码访问

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,9001人围观)

还没有评论,来说两句吧...

目录[+]