离线安装Nginx(Linux环境且无root权限)

📂 第一步:准备安装包(在有网络的电脑上操作)

下载以下文件(可根据实际需求调整),并将它们上传到服务器的 /home/mca/ 目录下。

  1. Nginx : 下载 .tar.gz 压缩包。

    • 例如:nginx-1.22.1.tar.gz
  2. Nginx 依赖库(必须!因为离线且无权限):

    • pcre-8.45.tar.gz (用于解析正则表达式)
    • zlib-1.2.13.tar.gz (用于 gzip 压缩)
    • openssl-1.1.1w.tar.gz (用于 HTTPS)

🛠️ 第二步:登录服务器并创建目录结构

假设已经将上述 4 个文件上传到了 /home/mca/ 目录。

bash 复制代码
# 1. 创建必要的目录结构
cd /home/mca/
mkdir -p software  # 用于存放安装包
mkdir -p app       # 用于存放编译/解压后的程序
​
# 2. 将上传的安装包移动到 software 目录(如果还没在该目录下)
mv *.tar.gz software/
cd software

🌐 第三步:编译安装 Nginx(关键步骤)

由于是离线且无 root 权限,必须在 configure 阶段指定依赖库的源码路径和安装路径。

  1. 解压 Nginx 和依赖

    bash 复制代码
    cd /home/mca/software
    # 解压 Nginx
    tar -zxvf nginx-1.22.1.tar.gz
    # 解压依赖库(必须解压在 software 目录下,方便 Nginx 找到)
    tar -zxvf pcre-8.45.tar.gz
    tar -zxvf zlib-1.2.13.tar.gz
    tar -zxvf openssl-1.1.1w.tar.gz
  2. 编译安装

    • 进入 Nginx 源码目录:

      bash 复制代码
      cd nginx-1.22.1
    • 执行配置命令(关键:--prefix 指定安装到有权限的目录):

      ini 复制代码
      ./configure \
      --prefix=/home/mca/app/nginx \
      --with-pcre=../pcre-8.45 \
      --with-zlib=../zlib-1.2.13 \
      --with-openssl=../openssl-1.1.1w \
      --with-http_ssl_module
    • 如果上面命令报错,通常是因为缺少 gcc 编译器。请确认 gcc --version 是否能运行(这需要管理员在离线环境下安装 gcc RPM 包,属于系统基础环境,不属于应用安装包)。

    • 编译并安装:

      go 复制代码
      make && make install
  3. 配置和启动 Nginx

    • 进入安装目录的 sbin 目录:

      bash 复制代码
      cd /home/mca/app/nginx/sbin
    • 修改配置文件(如果需要):编辑 /home/mca/app/nginx/conf/nginx.conf,将 listen 80; 改为 listen 8081;(或其他大于 1024 的端口,因为非 root 用户不能使用 1-1024 端口)。

    • 启动:

      bash 复制代码
      ./nginx
    • 重新加载配置(修改 conf 后):

      bash 复制代码
      ./nginx -s reload

📌 总结与检查

  • 目录结构

    • /home/mca/software/:存放所有 .tar.gz 源文件。
    • /home/mca/app/:存放解压/编译后的 Nginx。
  • 权限 :所有操作都在 mca 用户下完成,无需 sudoroot

  • 端口:Nginx 默认 80(需手动改配置大于 1024 的端口,因为非 root 用户不能使用 1-1024 端口)。同时确保服务器防火墙(如果有)放行这些端口。

相关推荐
十二74011 小时前
前端缓存踩坑实录:从版本号管理到自动化构建
前端·javascript·nginx
可观测性用观测云1 天前
云原生网关 Ingress-Nginx 链路追踪实战:OpenTelemetry 采集与观测云集成方案
nginx·kubernetes
闲云一鹤3 天前
nginx 快速入门教程 - 写给前端的你
前端·nginx·前端工程化
何中应6 天前
Nginx转发请求错误
前端·后端·nginx
芝士雪豹只抽瑞克五7 天前
Nginx 高性能Web服务器笔记
服务器·nginx
失重外太空啦7 天前
nginx
运维·nginx
天蓝不会忘记027 天前
lvs,haproxy,keepalived,nginx,tomcat介绍和实验
nginx·tomcat·lvs
feng68_7 天前
Nginx高性能Web服务器
linux·运维·服务器·nginx
unfeeling_7 天前
Nginx实验
运维·nginx