Bootstrap

linux离线安装nginx

一、下载nginx

下载地址:https://nginx.org/en/download.html
在这里插入图片描述

二、外部依赖检查和安装

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

2.1 gcc检查

gcc -v

出现如下,说明gcc是安装了的
在这里插入图片描述
如果最后一行没有出现对应gcc版本信息,那就要去手动下载了 ,下面的部分是下载安装各种依赖

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

gcc 清单

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

rpm -Uvh *.rpm --nodeps --force

2.2 PCRE检查

为什么要这个库?因为nginx是使用C语言开发的,为了实现高性能,用到了这个库
检测安装命令:

rpm -qa | grep pcre

通过此命令可以发现我这台服务器上面已经安装好了pcre依赖
在这里插入图片描述
如果没有出现这些信息说明没有安装,需要自行下载

下载地址:https://www.pcre.org/
按照下图中箭头的地址进行下载,因为是外网,可能无法访问,需要翻墙才能进行访问,如果无法翻墙可以通过文章顶部的资源进行下载
在这里插入图片描述
下载下来后上传到linux服务器某个文件夹下

执行解压命令

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/

往下划 ,找到下图中圈出来的部分进行下载
在这里插入图片描述
下载好后上传到服务器某文件夹下

执行解压命令

tar -zxvf zlib.tar.gz

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

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

make

make install

2.4 openssl检查

检测安装命令:

openssl version 

我这里通过命令查看到时已经安装了openssl
在这里插入图片描述

如果你哪里没有显示已安装,那么建议去下面这个地址进行下载
https://openssl-library.org/source/

在这里插入图片描述
下载好后上传到服务器某文件夹下

执行解压命令

tar -zxvf openssl-3.3.1.tar.gz

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

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

make

make install

三、安装nginx

上传下载后的nginx到自己新建的目录,如下图:
在这里插入图片描述
依次执行这些命令:

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安装

./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的安装路径(不是解压路径)

[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 # 立即停止服务 这种方法比较强硬,无论进程是否在工作,都直接停止进程

先把之前的服务进程杀掉
在这里插入图片描述

刷新配置

sudo systemctl daemon-reload

允许nginx自启动

sudo systemctl enable nginx.service

启动nginx

sudo systemctl start nginx.service

查看nginx服务的状态

sudo systemctl status nginx.service

在这里插入图片描述

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

systemctl list-units --type=service

在这里插入图片描述

停止nginx服务

sudo systemctl stop nginx.service 

在这里插入图片描述

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

;