openEuler离线安装nginx(理论上其它操作系统也可以)
服务器命令自查
首先第一趴需要检查你的服务器是openEuler什么版本,是啥架构,那些rpm包没有安装
查看服务器系统版本(我的是openEuler22.03版本)
[root@VM-0-3-linux ~]# cat /etc/os-release NAME="openEuler" VERSION="22.03 (LTS-SP1)" ID="openEuler" VERSION_ID="22.03" PRETTY_NAME="openEuler 22.03 (LTS-SP1)" ANSI_COLOR="0;31"
查看服务器架构,一般都是x86,这里注意下如果是arm架构在vmWare(本地运行镜像模拟linux)是不能运行的
[root@VM-0-3-linux ~]# arch
x86_64
[root@VM-0-3-linux ~]#
nginx安装一般是需要 gcc、pcre、pcre-devel、zlib、nginx
gcc安装(必选)
备注说明: gcc用来对nginx源码进行编译
[root@VM-0-3-linux ~]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/10.3.1/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,fortran,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl --without-cloog --enable-gnu-indirect-function --build=x86_64-linux-gnu --with-stage1-ldflags=' -Wl,-z,relro,-z,now' --with-boot-ldflags=' -Wl,-z,relro,-z,now' --disable-bootstrap --with-tune=generic --with-arch_32=x86-64 --disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.3.1 (GCC)
[root@VM-0-3-linux ~]#
可以看到gcc版本在最下方 10.3.1
那如果gcc没有怎么办如下命令执行结果
[root@iZuf63rpbv7l8ahkbslwi6Z ~]# gcc -v
-bash: gcc: command not found
那可能有些人就在想了,我的服务器是内网没法连外网,不然直接yum就安装了
yum install gcc-c++
直接在外网找一台服务器,操作系统架构跟内网差不多的在外网下载包直接传到内网进行安装
现在是在外网服务器操作
切换目录到 cd /opt/nginx, 如果opt下没有nginx目录就新建 mkdir nginx
[root@iZuf63rpbv7l8ahkbslwi6Z nginx]# pwd
/opt/nginx
再切换到gcc目录
/opt/nginx/gcc
执行rpm下载命令,这个命令不同与yum install gcc-c++带安装的
yumdownloader --resolve gcc-c++
这将下载 gcc-c++ 及其依赖库的 RPM 包(下载其它的依赖也是类似yumdownloader --resolve pcre)
[root@VM-0-3-linux gcc]# yumdownloader --resolve gcc-c++
Last metadata expiration check: 0:11:51 ago on Thu 04 Jan 2024 08:53:49 AM UTC.
gcc-c++-10.3.1-25.oe2203sp1.x86_64.rpm 16 MB/s | 11 MB 00:00
[root@VM-0-3-linux gcc]# ls
gcc-c++-10.3.1-25.oe2203sp1.x86_64.rpm
这里就下载了一个rpm,因为我之前安装过,如果是原始机可能会下载挺多rpm包
gcc的rpm安装(这个内网一般是可以执行rpm的安装命令的,不需要联网)
rpm -Uvh *.rpm --nodeps --force;
这个rpm命令执行为强制执行,表示执行当前文件夹所有的rpm包,如果原先装过它会先删除之前的再安装现在的rpm包,谨慎操作,我有一次没注意服务器是否安装了gcc,执行了低版本gcc进去后面服务器登的登不进去了,破坏了里面的一些系统文件
rpm -ivh *.rpm --nodeps;
不强制安装也会给出提示为啥安装失败,如果装过相同的rpm包就不会再次安装了
按照上面命令装好之后再执行gcc -v就会出来了
gcc装好基本成功一大半了
pcre安装(必选)
rpm -qa pcre 这个命令可以判断大部分插件是否安装,如果没装会是空的
[root@VM-0-3-linux /]# rpm -qa pcre pcre-8.45-5.oe2203sp1.x86_64
如果空的也别急,一般pcre是用安装包(外网下载的)进行安装的
pcre-8.35.tar.gz
进行解压命令
[root@VM-0-3-linux nginx]# tar -zxvf pcre-8.35.tar.gz
然后解压之后的安装命令跟rpm是不同的,进入解压后的目录
[root@VM-0-3-linux pcre-8.35]# pwd
/opt/nginx/pcre-8.35
执行
./configure; make; make install;
那如果你没有安装包那你还是老老实实跟上面gcc下载rpm包一样先下载下来然后进行rpm安装
pcre-devel安装(必选)
备注说明: Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。 这里需要安装两个安装包pcre和pcre-devel。 第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码。
安装步骤就不重复了
[root@VM-0-3-linux pcre-8.35]# rpm -qa pcre-devel
pcre-devel-8.45-5.oe2203sp1.x86_64
[root@VM-0-3-linux pcre-8.35]#
没有就找安装包安装,执行命令根据安装包或rpm的对应进行安装
zlib安装(必选)
备注说明: zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩
[root@VM-0-3-linux pcre-8.35]# rpm -qa zlib -bash: pm: command not found [root@VM-0-3-linux pcre-8.35]#
这里就可以看到我没有安装这个zlib插件
还是按照上述装法进行安装
openssl安装(必选)
备注说明:nginx不仅支持 http协议,还支持 https(即在 ssl 协议上传输 http)。
如果使用了 https,需要安装 OpenSSL 库
目前安装过的一些centOs、redHat、openEuler内网操作系统基本自带的openssl、openssl-devel, 或者命令下载gcc-c++时也会顺带下来openssl的rpm包
如果没有那么参照gcc中rpm下载传到内网进行安装即可
nginx安装(必选)
这个一般是用安装包进行安装,注意踩坑,服务器版本越高对应的nginx版本越高,之前有遇到过在一个服务器安装nginx死活安装不上去,后面换了高一点版本的nginx就可以了
先将nginx1.18解压
tar -zxvf nginx-1.18.0.tar.gz
解压后进入解压目录执行
./configure; make; make install;
安装可能不会一帆风顺, 我遇到过安装报错,报缺失zlib, pcre-devel的包的那么对应上述方法安装即可
安装成功后会在/usr/local/nginx目录显示
到这一步基本就成功了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)