您的位置:

nginx离线安装完全指南

一、nginx离线安装一键脚本

为了让离线安装nginx更为方便,我们可以准备一份自动执行的脚本。这样可以大大减少重复劳动和出错的风险。

以下是一个示例脚本:

#!/bin/bash
# nginx离线安装脚本,仅供参考

# 安装依赖
yum -y install gcc gcc-c++ make zlib-devel pcre pcre-devel openssl openssl-devel

# 下载nginx源码
wget http://nginx.org/download/nginx-1.18.0.tar.gz

# 解压
tar -zxvf nginx-1.18.0.tar.gz

# 配置并安装nginx
cd nginx-1.18.0
./configure
make && make install

使用该脚本的方法是,将脚本保存为一个文件,例如install_nginx.sh,并将nginx源码包和该脚本一起拷贝到目标服务器上,然后在终端中执行命令:bash install_nginx.sh

二、离线安装nginx

如果服务器无法连接到外网或带宽较小,我们可以在其他机器上下载nginx安装包,并将安装包拷贝到目标服务器上进行安装。

以下是一个示例操作:

  1. 在一台外网可连接的机器上,执行以下命令:
  2. $ wget http://nginx.org/download/nginx-1.18.0.tar.gz
    
  3. 将下载的安装包拷贝到目标服务器上
  4. $ scp nginx-1.18.0.tar.gz username@server:/path/to/destination
    
  5. 在目标服务器上解压并安装
  6. $ tar -zxvf nginx-1.18.0.tar.gz
    $ cd nginx-1.18.0
    $ ./configure
    $ make && make install
    

三、nginx离线安装rpm

对于CentOS或RedHat等采用rpm包管理的系统,我们还可以通过离线的方式安装nginx rpm包。

以下是一个示例操作:

  1. 在一台外网可连接的机器上,执行以下命令:
  2. $ yumdownloader nginx
    

    该命令会下载最新版本的nginx rpm包以及它的所有依赖。

  3. 将下载的rpm包及其依赖拷贝到目标服务器上
  4. 如果没有办法拷贝整个yum缓存目录,也可以使用rsync工具只拷贝需要的文件。

  5. 在目标服务器上安装rpm包
  6. $ rpm -ivh nginx-1.18.0-1.el7.ngx.x86_64.rpm
    

四、nginx离线安装 linux

以下是一个示例操作:

  1. 在一台外网可连接的机器上,执行以下命令:
  2. $ wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    $ rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
    
  3. 安装nginx
  4. $ yum -y install nginx
    
  5. 查看安装情况
  6. $ nginx -v
    

五、nginx离线安装并运行

在完成离线安装后,我们需要运行nginx以启用其服务。常见的方式包括直接启动nginx进程、使用SysV或systemd等工具将其注册为系统服务。

以下是一个示例操作:

  1. 进入nginx安装目录
  2. $ cd /usr/local/nginx
    
  3. 启动nginx进程
  4. $ sbin/nginx
    
  5. 使用curl工具测试nginx服务是否启动成功
  6. $ curl http://localhost
    
  7. 使用systemd注册nginx为系统服务
  8. 在目标服务器上创建以下文件:/usr/lib/systemd/system/nginx.service

    [Unit]
    Description=nginx service
    After=network.target
    
    [Service]
    Type=forking
    PIDFile=/usr/local/nginx/logs/nginx.pid
    ExecStart=/usr/local/nginx/sbin/nginx
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s QUIT $MAINPID
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    

    然后执行以下命令:

    $ systemctl daemon-reload
    $ systemctl enable nginx
    $ systemctl start nginx
    

六、nginx离线安装lua模块

Lua是一种强大的脚本语言,广泛用于Web开发领域。nginx提供了lua模块,可以让我们在nginx配置文件中使用lua脚本。

以下是一个示例操作:

  1. 安装lua和lua-devel
  2. $ yum -y install lua lua-devel
    
  3. 下载ngx_lua模块
  4. $ wget https://github.com/openresty/lua-nginx-module/archive/v0.10.15.tar.gz
    
  5. 解压ngx_lua模块
  6. $ tar -zxvf v0.10.15.tar.gz
    
  7. 在安装nginx时增加ngx_lua模块的编译选项
  8. $ ./configure --add-module=/path/to/lua-nginx-module-0.10.15
    
  9. 编译安装nginx
  10. $ make && make install
    
  11. 配置nginx使用ngx_lua模块
  12. 在nginx.conf中添加以下内容:

    location / {
        content_by_lua_block {
            ngx.say("hello, world")
        }
    }
    
  13. 重启nginx,并测试
  14. $ systemctl restart nginx
    $ curl http://localhost