一、概览

服务器无法访问外网的情况下,Nginx只能离线安装,安装主要步骤如下:

  • 安装gcc、g++
  • 安装pcre、zlib
  • 安装nginx

二、安装gcc、g++

gcc --version
g++ --version

使用gcc --version g++ --version查看服务器是否已经安装过gcc、**g++**。

2.1 下载

如果未安装,请下载gcc、**g++**及其依赖包进行安装,下面为Centos7 x86_64下 gcc 与 **g++ ** 4.8.5的依赖包:

gcc依赖包详见:gcc-4.8.5-39.el7.x86_64.rpm

gcc 依赖包

g++依赖包详见:gcc-c++-4.8.5-39.el7.x86_64.rpm

g++ 依赖包

根据上述依赖包列表下载安装包,下载地址:Centos Mirrors阿里云网易,下载后的依赖包如下图所示:

gcc  g++ rpm安装包

上述安装包已分享至天翼云盘gcc g++ rpm安装包

注意

上图下载的依赖包有一些是gcc g++依赖包列表中不存在的,是因为那部分安装包是gcc g++ 依赖包的依赖包,这里参考网上下载了缺少的一些包

2.2 安装

进入安装包下载路径

rpm  -ivh  *.rpm --nodeps --force

–nodeps: do not verify package dependencies

–force: short hand for –replacepkgs –replacefiles

–replacefiles : ignore file conflicts between packages

–replacepkgs: reinstall if the package is already present

2.3 检查

执行gcc --versiong++ version检测是否安装成功。

三、安装pcre、zlib

Nginx的gzip模块需要zlib库,rewrite模块需要pcre库,ssl模块需要openssl库.

下载地址:http://mirror.centos.org/centos/7/os/x86_64/Packages/

3.1 安装pcre

检查服务器是否已经安装了pcre

rpm -q pcre

下载地址:http://mirror.centos.org/centos/7/os/x86_64/Packages/pcre-8.32-17.el7.x86_64.rpm

rpm -ivh pcre-8.32-17.el7.x86_64.rpm --force

进入文件存放路径执行上述命令安装,最后执行rpm -q pcre检测是否安装成功。

3.2 安装zlib

检查服务器是否已经安装zlib

rpm -q zlib

下载地址:http://mirror.centos.org/centos/7/os/x86_64/Packages/zlib-1.2.7-18.el7.x86_64.rpm

rpm -ivh zlib-1.2.7-18.el7.x86_64.rpm --force

进入文件下载路径执行上面命令进行安装,最后执行rpm -q zlib检测是否安装成功。

四、安装Nginx

Nginx官网下载Stable version,当前的Stable version为nginx-1.18.0

下载地址:https://nginx.org/download/nginx-1.18.0.tar.gz

3.1 编译安装

tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
./configure --prefix=/usr/local/nginx
make
make install

下载解压后进入Nginx解压目录进行编译安装, 上面讲Nginx安装到了/usr/local/nginx目录下。

查看Nginx版本

/usr/local/nginx/sbin/nginx -v

3.2 配置环境变量

编辑/etc/profile添加下面内容:

export NGINX_HOME= /usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin

完成后执行source /etc/profile,之后就可以直接执行nginx -v查看Nginx版本。

3.3 设置开机自启动

1、在系统服务目录里创建nginx.service文件

vim  /usr/lib/systemd/system/nginx.service

2、在文中添加下面内容

[Unit]
Description=nginx
After=network.target
  
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
  
[Install]
WantedBy=multi-user.target

Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

3、设置开机自启动

systemctl enable nginx.service

至此Nginx的安装已经完成了。

五、下载

Nginx离线安装下载:

gcc、g++安装包

nginx离线安装包

参考文章

CentOS7离线安装Nginx

linux的离线安装nginx