linux离线安装nginx

别怕,有爸爸 2024-09-01 15:07:02 阅读 71

一、下载nginx

下载地址:https://nginx.org/en/download.html

在这里插入图片描述

二、外部依赖检查和安装

依赖一共有以下几种类型:gcc、pcre、zlib、opnessl

2.1 gcc检查

<code>gcc -v

出现如下,说明gcc是安装了的

在这里插入图片描述

如果最后一行没有出现对应gcc版本信息,那就要去手动下载了 ,下面的部分是下载安装各种依赖

提供个阿里云镜像地址:https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/

gcc 清单

<code>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

一个个找到下载,小技巧:可以直接复制名字定位,ctrl+f

在这里插入图片描述

把下载好的gcc依赖统一上传到服务器的同一个文件夹下,或者可以通过文章顶部的资源下载相应的文件包,相关类型已经放在同一个目录下,上传成功之后对压缩文件进行解压,进入解压后的目录,然后执行下列命令安装gcc

<code>rpm -Uvh *.rpm --nodeps --force

2.2 PCRE检查

为什么要这个库?因为nginx是使用C语言开发的,为了实现高性能,用到了这个库

检测安装命令:

rpm -qa | grep pcre

通过此命令可以发现我这台服务器上面已经安装好了pcre依赖

在这里插入图片描述

如果没有出现这些信息说明没有安装,需要自行下载

下载地址:https://www.pcre.org/

按照下图中箭头的地址进行下载,因为是外网,可能无法访问,需要翻墙才能进行访问,如果无法翻墙可以通过文章顶部的资源进行下载

在这里插入图片描述

下载下来后上传到linux服务器某个文件夹下

执行解压命令

<code>tar -zxvf pcre2-10.44.tar.gz

cd进入解压后的目录下依次执行

./configure (后面可加 --prefix=安装目录,安装到指定路径,一般不加,就安装到默认路径下)

make

make install

2.3 zlib检查

检测安装命令:

rpm -qa | grep zlib

我这里通过命令查看到时已经安装了zlib

在这里插入图片描述

没有如上信息,要下载安装

地址:https://www.zlib.net/

往下划 ,找到下图中圈出来的部分进行下载

在这里插入图片描述

下载好后上传到服务器某文件夹下

执行解压命令

<code>tar -zxvf zlib.tar.gz

再cd 到解压后的zlib目录顺序执行

./configure (后面可加 --prefix=安装目录,安装到指定路径,一般不加,就安装到默认路径下)

make

make install

2.4 openssl检查

检测安装命令:

openssl version

我这里通过命令查看到时已经安装了openssl

在这里插入图片描述

如果你哪里没有显示已安装,那么建议去下面这个地址进行下载

https://openssl-library.org/source/

在这里插入图片描述

下载好后上传到服务器某文件夹下

执行解压命令

<code>tar -zxvf openssl-3.3.1.tar.gz

再cd 到解压后的openssl目录顺序执行

./configure (后面可加 --prefix=安装目录,安装到指定路径,一般不加,就安装到默认路径下)

make

make install

三、安装nginx

上传下载后的nginx到自己新建的目录,如下图:

在这里插入图片描述

依次执行这些命令:

<code>cd /data/nginx 进入上传nginx文件的目录

tar -zxvf nginx-1.27.0.tar.gz 对上次的nginx文件进行解压

cd nginx-1.27.0 进入解压后的文件目录

进入解压后的文件夹下执行如下,这里配置安装到/usr/local下

./configure (--prefix=/usr/local/nginx,这是指定安装到某个路径下,如果不指定,则默认也是安装到这个路径下,没有nginx文件夹会自动创建)

make

make install

我这里执行完第一句报错了,我重新安装下PCRE库(按照上述pcre流程来)

在这里插入图片描述

安装好后再进入nginx的解压目录

在这里插入图片描述

继续执行上面的nginx安装

<code>./configure (--prefix=/usr/local/nginx,这是指定安装到某个路径下,如果不指定,则默认也是安装到这个路径下,没有nginx文件夹会自动创建)

make

make install

如果还是报错,仔细观察报错是否是zlib错误,如果是,参考zlib的安装步骤重新安装之后继续执行nginx的安装命令

正常情况下,上面三个命令执行完成之后nginx的安装基本完成

四、启动nginx

进入nginx的启动目录,因为没有设置nginx的安装目录,所以默认安装在/usr/local/nginx

cd /usr/local/nginx/sbin/

./nginx

nginx启动成功之后可以通过以下命令进行查询

ps -ef|grep nginx

启动成功之后显示如下:

在这里插入图片描述

nginx的默认监听端口是80,所以访问本机加上80端口查看nginx,如下图正常访问

因为我这里关闭了防火墙,如果你的服务器没有关闭防火墙需要对80端口进行放行,不然无法访问,这里就不详细介绍防火墙端口开放的内容

在这里插入图片描述

五、设置nginx开机自启

这里采用Systemd方式,把nginx作为系统服务,设置开机自启动

首先执行以下命令

vi /etc/systemd/system/nginx.service

创建一个nginx系统服务文件,按 i 键并输入以下内容,esc键退出,:wq保存

注意 /usr/local/nginx要替换成自己的nginx的安装路径(不是解压路径)

<code>[Unit]

Description=The nginx HTTP and reverse proxy server

After=network.target

[Service]

Type=forking

ExecStartPre=/usr/local/nginx/sbin/nginx -t

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/usr/local/nginx/sbin/nginx -s stop

[Install]

WantedBy=multi-user.target

nginx -s quit # 这种方法较stop相比就比较温和,需要进程完成当前工作后再停止。

nginx -s stop # 立即停止服务 这种方法比较强硬,无论进程是否在工作,都直接停止进程

先把之前的服务进程杀掉

在这里插入图片描述

刷新配置

<code>sudo systemctl daemon-reload

允许nginx自启动

sudo systemctl enable nginx.service

启动nginx

sudo systemctl start nginx.service

查看nginx服务的状态

sudo systemctl status nginx.service

在这里插入图片描述

查看开机自启动的服务列表

<code>systemctl list-units --type=service

在这里插入图片描述

停止nginx服务

<code>sudo systemctl stop nginx.service

在这里插入图片描述

最后可以通过reboot重启验证nginx是否开机自启动,我服务器上面涉及的服务较多,就不做演示



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。