当前位置: 首页 > news >正文

Centos 7离线部署Nginx 高效省时

  1. 给脚本执行权限:chmod +x install_nginx.sh
  2. 以root用户运行:sudo ./install_nginx.sh

脚本如下:

#!/bin/bash
# Nginx一键化部署脚本(修复版本)
# 需要以root权限运行set -e # 任何命令失败时立即退出脚本# 定义彩色输出函数
color_echo() {local color=$1shiftcase $color inred) echo -e "\033[31m$@\033[0m" ;;green) echo -e "\033[32m$@\033[0m" ;;yellow) echo -e "\033[33m$@\033[0m" ;;*) echo "$@" ;;esac
}# 步骤1: 解压nginx.zip
color_echo green "步骤1: 解压nginx.zip"
unzip -o -q nginx.zip || {color_echo red "解压nginx.zip失败"exit 1
}# 步骤2: 安装所有必需的RPM包(修复已安装包的问题)
color_echo green "步骤2: 安装RPM依赖包"
rpm_packages=("cpp-4.8.5-44.el7.x86_64.rpm""gcc-4.8.5-44.el7.x86_64.rpm""gcc-c++-4.8.5-36.el7.x86_64.rpm""glibc-2.17-317.el7.x86_64.rpm""glibc-common-2.17-317.el7.x86_64.rpm""glibc-devel-2.17-317.el7.x86_64.rpm""glibc-headers-2.17-317.el7.x86_64.rpm""libstdc++-devel-4.8.5-36.el7.x86_64.rpm"
)for pkg in "${rpm_packages[@]}"; do# 检查包是否已安装if rpm -q $(echo $pkg | cut -d- -f1-2) >/dev/null 2>&1; thencolor_echo yellow "已安装: $pkg"elsecolor_echo green "安装中: $pkg"rpm -ivh $pkg --nodeps >/dev/null || {color_echo red "安装$pkg失败"exit 1}fi
done# 步骤3: 解压所有源码包
color_echo green "步骤3: 解压源码包"
extract_files() {for file in $@; docase $file in*.tar.gz) tar -xvf $file >/dev/null ;;*.zip) unzip -o -q $file ;;*) color_echo red "未知文件类型: $file" ;;esacdone
}extract_files nginx-1.20.2.tar.gz openssl-1.1.1j.tar.gz zlib-1.3.1.tar.gz pcre-8.41.zip# 步骤4: 编译安装OpenSSL
color_echo green "步骤4: 编译安装OpenSSL"
cd openssl-1.1.1j/
./config >/dev/null || {color_echo red "OpenSSL配置失败"exit 1
}
make >/dev/null && make install >/dev/null || {color_echo red "OpenSSL编译安装失败"exit 1
}
cd ..# 步骤5: 编译安装PCRE
color_echo green "步骤5: 编译安装PCRE"
cd pcre-8.41
./configure >/dev/null || {color_echo red "PCRE配置失败"exit 1
}
make >/dev/null && make install >/dev/null || {color_echo red "PCRE编译安装失败"exit 1
}
cd ..# 步骤6: 编译安装zlib
color_echo green "步骤6: 编译安装zlib"
cd zlib-1.3.1/
./configure >/dev/null || {color_echo red "zlib配置失败"exit 1
}
make >/dev/null && make install >/dev/null || {color_echo red "zlib编译安装失败"exit 1
}
cd ..# 步骤7: 编译安装Nginx
color_echo green "步骤7: 编译安装Nginx"
# 使用当前路径(确保路径正确)
NGINX_PREFIX="/usr/local/nginx"
PCRE_PATH="$PWD/pcre-8.41"
OPENSSL_PATH="$PWD/openssl-1.1.1j"cd nginx-1.20.2/
color_echo yellow "配置参数:"
color_echo yellow "  --prefix=$NGINX_PREFIX"
color_echo yellow "  --with-http_ssl_module"
color_echo yellow "  --with-pcre=$PCRE_PATH"
color_echo yellow "  --with-openssl=$OPENSSL_PATH"
color_echo yellow "  --with-stream"./configure --prefix=$NGINX_PREFIX \--with-http_ssl_module \--with-pcre=$PCRE_PATH \--with-openssl=$OPENSSL_PATH \--with-stream >/dev/null || {color_echo red "Nginx配置失败"exit 1
}make >/dev/null && make install >/dev/null || {color_echo red "Nginx编译安装失败"exit 1
}
cd ..# 步骤8: 配置防火墙
color_echo green "步骤8: 配置防火墙"
systemctl stop firewalld >/dev/null 2>&1 || true
systemctl disable firewalld >/dev/null 2>&1 || truecolor_echo green "=============================================="
color_echo green "Nginx安装完成!"
color_echo green "安装目录: $NGINX_PREFIX"
color_echo green "启动命令: $NGINX_PREFIX/sbin/nginx"
color_echo green "停止防火墙已生效"
color_echo green "=============================================="

安装成功截图:

相对应的软件包 zip (包含所需要的依赖)

centos7离线部署Nginx高效安装资源-CSDN文库

或者可以私聊我  免费提供

相关文章:

  • uniapp安卓GPIO电平控制
  • Milvus【部署 03】Linux OpenEuler 环境在线+离线安装及卸载
  • 【软考高级系统架构论文】论企业集成架构设计及应用
  • Milvus【工具 01】milvus_cli和可视化工具attu安装使用
  • uniapp vue2多选模糊下拉组件
  • 住宅老年护理软件:市场洞察与发展前景
  • 顶级思维方式——认知篇十一《传习录》笔记
  • leetcode:78. 子集
  • 手机摄影后期进阶:LR调色参数黄金比例表
  • LeetCode中K个链表的链接的解法
  • 从本地到云端:通过ToolJet和cpolar构建远程开发环境实践过程
  • 操作系统 第九章 部分
  • 详解HarmonyOS NEXT仓颉开发语言中的全局弹窗
  • 2024计算机保研--哈工大、中山、国防科大(二)
  • 前端高频面试题汇总
  • 【入门级-基础知识与编程环境:3、计算机网络与Internet的基本概念】
  • Flask框架index.html里引用的本地的js和css或者图片
  • RK3576 Yolo 部署
  • PyTorch实战(12)——StyleGAN详解与实现
  • 七八章习题测试
  • 中国建设银行个人网站银行/网站加速
  • 网页设计与制作课程实施报告/泰州百度seo
  • 自己的网站怎么做/seo入口
  • 网站建设优化推广哈尔滨/做网站的网络公司
  • 网站备案号规则/国内优秀网页设计赏析
  • 网站建设人员管理制度/如何写好一篇软文