centos7 Nginx一键安装自动化脚本

离线环境下 centos7 Nginx一键安装自动化脚本

本文介绍了一个 Bash 脚本,可用于自动化安装 Nginx 服务器。该脚本简化了安装过程,省去了手动配置的繁琐步骤。

脚本功能特点:

  1. 依赖检查和安装: 自动检查并安装 Nginx 所需的依赖包,确保安装过程顺利进行。

  2. 目录创建和权限设置: 创建了必要的目录,如日志目录和临时目录,并设置了相应的权限,确保 Nginx 正常运行所需的环境。

  3. 解压和安装 Nginx: 自动解压 Nginx 安装包,进行配置和安装,无需手动操作。

  4. 添加可执行文件到系统路径: 将 Nginx 的可执行文件添加到系统路径中,方便在任何位置使用 Nginx 命令。

  5. 更新 Nginx 配置文件: 自动更新 Nginx 的配置文件以启用 PID,确保进程管理的正常运行。

  6. 创建 systemd 服务文件: 创建 systemd 服务文件,用于管理 Nginx 服务的启动、重载和停止等操作。

  7. 启动并启用 Nginx 服务: 自动启动并启用 Nginx 服务,确保在系统启动时自动运行。

使用方法:

  1. 将提供的脚本保存到您的服务器中。

  2. 使用 root 用户权限运行脚本。如果没有足够权限,脚本将无法执行。

  3. 根据您的系统环境,确保正确配置以下参数:

    • DEPENDENCY_DIR:Nginx的第三方依赖安装位置。
    • NGINX_PACKAGE:Nginx 的安装包路径。
    • NGINX_INSTALL_DIR:Nginx 的安装目录。
    • NGINX_PID_DIR:Nginx PID 文件存储目录。
  4. 执行脚本,等待安装过程完成。脚本将输出安装进度和结果信息。

  5. 安装完成后,您可以使用 nginx -v 命令验证 Nginx 是否成功安装,并使用 systemctl status nginx 命令检查 Nginx 服务的运行状态。

安装包网盘下载:

centos7-nginx-1.22.1
https://www.alipan.com/s/AukA299pHpM
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。

完整脚本如下所示:


#!/bin/bash# ****************************************************************
# * @Title: nginx一键自动安装脚本
# * @Author: Lee
# * @Version: v1.0
# * @Date: 2023/11/20
# * @Description: 离线环境下 
# *               centos7 环境下Nginx一键安装自动化脚本 
# *****************************************************************set -e# 定义路径
NGINX_PACKAGE="/usr/local/autoinstall/Nginx/lib/nginx-1.22.1.tar.gz"
NGINX_INSTALL_DIR="/usr/local/nginx"
NGINX_WORKSPACE="/usr/local/nginx/nginx-1.22.1"
NGINX_PID_DIR="/usr/local/pid"
NGINX_PID_PATH="$NGINX_PID_DIR/nginx.pid"
DEPENDENCY_DIR="/usr/local/autoinstall/Nginx/third-lib/"# 必须以 root 用户身份运行
if [[ $EUID -ne 0 ]]; thenecho "此脚本必须以 root 用户身份运行"exit 1
fi# 安装依赖
# 安装依赖
echo "正在安装依赖……"
yum localinstall -y "$DEPENDENCY_DIR/gcc-c++"/*.rpm
yum localinstall -y "$DEPENDENCY_DIR/zlib"/*.rpm
yum localinstall -y "$DEPENDENCY_DIR/zlib-devel"/*.rpm
yum localinstall -y "$DEPENDENCY_DIR/openssl"/*.rpm
yum localinstall -y "$DEPENDENCY_DIR/openssl-devel"/*.rpm# 检查 Nginx 安装包是否存在
if [ ! -f "$NGINX_PACKAGE" ]; thenecho "Nginx 安装包不存在。请确保文件存在后,再重新运行此脚本。"exit 1
fi# 创建必要的目录
echo "正在创建必要的目录并设置权限……"
mkdir -p /var/log/nginx
mkdir -p /var/temp/nginx
mkdir -p "$NGINX_INSTALL_DIR"
mkdir -p "$NGINX_PID_DIR"
chmod 755 /var/log/nginx
chmod 755 /var/temp/nginx
chmod 755 "$NGINX_INSTALL_DIR"
chmod 755 "$NGINX_PID_DIR"# 解压并安装 Nginx
echo "正在解压并安装 Nginx……"
tar -xf "$NGINX_PACKAGE" -C "$NGINX_INSTALL_DIR"
cd "$NGINX_WORKSPACE"
./configure --prefix="$NGINX_INSTALL_DIR" --pid-path="$NGINX_PID_PATH" --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --http-scgi-temp-path=/var/temp/nginx/scgi --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module
make && make install# 检查 Nginx 是否安装成功
if [ ! -f "$NGINX_INSTALL_DIR/sbin/nginx" ]; thenecho "Nginx 安装失败。请检查安装过程,然后再试一次。"exit 1
fi# 将 Nginx 可执行文件添加到系统路径中
echo "将 Nginx 可执行文件添加到 /etc/profile 的系统路径中……"
echo "export PATH=\$PATH:$NGINX_INSTALL_DIR/sbin" >> /etc/profile
source /etc/profile# 在 Nginx 配置文件中启用 pid
echo "更新 Nginx 配置文件以启用 pid……"
sed -i "s|#pid.*|pid $NGINX_PID_PATH;|" "$NGINX_INSTALL_DIR/conf/nginx.conf"# 创建 systemd 服务文件
echo "创建 systemd 服务文件……"
cat << EOF > /etc/systemd/system/nginx.service
[Unit]
Description=The Nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target[Service]
Type=forking
PIDFile=$NGINX_PID_PATH
ExecStartPre=$NGINX_INSTALL_DIR/sbin/nginx -t -c $NGINX_INSTALL_DIR/conf/nginx.conf
ExecStart=$NGINX_INSTALL_DIR/sbin/nginx -c $NGINX_INSTALL_DIR/conf/nginx.conf
ExecReload=$NGINX_INSTALL_DIR/sbin/nginx -s reload
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=mixed
PrivateTmp=true[Install]
WantedBy=multi-user.target
EOF# 启动并启用 Nginx 服务
echo "启动并启用 Nginx 服务……"
systemctl daemon-reload
systemctl start nginx
systemctl enable nginxecho "Nginx 已成功安装并启动!"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/2818.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

轨迹跟踪控制导读

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言一、小车底盘运动学模型介绍二、路径跟踪方法&#xff1a;PID控制算法实现路径跟踪--飞思卡尔的方法三、路径跟踪方法&#x…

附近商户-GEO数据结构的基本用法

10、附近商户 10.1、附近商户-GEO数据结构的基本用法 GEO就是Geolocation的简写形式&#xff0c;代表地理坐标。Redis在3.2版本中加入了对GEO的支持&#xff0c;允许存储地理坐标信息&#xff0c;帮助我们根据经纬度来检索数据。常见的命令有&#xff1a; GEOADD&#xff1a…

SpringBoot Bean管理(扫描、注册、注册条件)

Bean扫描 一般的扫描包路径 需要使用xml标签或者是ComponentScan(basePackages “xxx.xxx”) ,但是在SpringBoot中不需要。 在springBoot 项目的启动类中有一个注解&#xff1a;SpringBootApplication,这个注解包含以下注解&#xff1a; 但是ComponentScan并没有指明包路径…

开源协议的对比和商业上的安全使用

开源协议的对比和商业上的安全使用 开源组件是&#xff1a;“任何人都可以自由使用、更改和共享&#xff08;以修改或未修改的形式&#xff09;的软件”。当今企业依靠开源来加速开发、降低成本和推动创新。对开放源码的糟糕管理可能会使组织面临安全、法律和操作风险。 使用…

Maven基础篇5

私服 私服目的&#xff0c;方便公司内计算机通信&#xff0c;方便程序员们开发时资源互换&#xff1b; 1.Nexus私服 https://help.sonatype.com/repomanager3/download 可下载&#xff0c;第一个是服务器&#xff0c;第二个是工作空间 bin中有可执行命令 nexus.exe/run端口…

比亚迪唐EV和唐DM-p荣耀版上市,成为新能源汽车市场中的佼佼者!

随着环保理念的深入人心&#xff0c;新能源汽车市场正迎来前所未有的发展机遇。在这个变革的浪潮中&#xff0c;唐EV和唐DM-p荣耀版的上市无疑为市场注入了新的活力。它们凭借先进的技术、卓越的性能以及豪华配置&#xff0c;成为了新能源汽车市场中的佼佼者。然而&#xff0c;…

【飞桨AI实战】人体姿态估计:零基础入门,从模型训练到应用开发

前言 本次分享将带领大家从 0 到 1 完成一个人体姿态估计任务&#xff0c;覆盖数据准备、模型训练、推理部署和应用开发的全流程&#xff0c;项目将采用以PaddlePaddle为核心的飞桨深度学习框架进行开发&#xff0c;并总结开发过程中踩过的一些坑&#xff0c;希望能为有类似项…

前端面试真题

vue 1、说一下你对vue生命周期的理解 组件从创建到销毁的过程就是它的生命周期 beforeCreat&#xff1a;在这个阶段属性和方法都不能使用 created&#xff1a;这里是实例创建完成之后&#xff0c;在这里完成了数据监测&#xff0c;可以使用数据&#xff0c;修改数据&#xff…

增加PyQt5界面的交通流量预测(模型为CNN_GRU,CNN_BiGRU_ATTENTION,LSTM,Python代码)

1.效果视频&#xff1a;增加PyQt5界面的交通流量预测&#xff08;模型为CNN_GRU&#xff0c;CNN_BiGRU_ATTENTION&#xff0c;LSTM&#xff09;_哔哩哔哩_bilibili&#xff09; 2.三个模型和数据集的介绍 交通流量预测(python代码&#xff0c;压缩包中带有数据&#xff0c;CN…

曲线救国|基于函数计算FC3.0部署AI数字绘画stable-diffusion

曲线救国|基于函数计算FC3.0部署AI数字绘画stable-diffusion 基于函数计算FC2.0部署AI数字绘画stable-diffusion基于函数计算FC3.0部署AI数字绘画stable-diffusion总结 在经过了上一次曲线救国失败经历之后&#xff0c;失败经历参考博文&#xff1a;https://developer.aliyun.c…

docker-003镜像制作

步骤 使用docker commit提交容器使之成为镜像以ubuntu安装vim后的容器为例 1 ubuntu安装vim 启动容器 docker run -it --nameubuntu-vim ubuntu /bin/bash安装vim apt-get update apt-get install vim2 提交容器作为镜像 查看容器 docker ps -a提交容器作为镜像 命令格式&…

SimManager助力巴西航空工业公司搭建功能完善的仿真平台

巴西航空工业公司在实施构建结构分析平台之前&#xff0c;使用内部作业调度批处理程序在大型计算机上进行求解作业&#xff0c;前处理器和后处理器在本地工作站上运行&#xff0c;这些程序生成的工程数据存储在共享网络目录中&#xff0c;这一过程带来了一些问题&#xff1a; 为…

STM32 MPU配置参数

TXE LEVEL一般只用MPU_TEX_LEVEL0 1 - 1 - 1 -0性能最强&#xff08;TEX - C - B- S&#xff09;. #define MPU_TEX_LEVEL0 ((uint8_t)0x00) #define MPU_TEX_LEVEL1 ((uint8_t)0x01) #define MPU_TEX_LEVEL2 ((uint8_t)0x02) 基于上表进行常用配置 &#xff…

C语言 | Leetcode C语言题解之第41题缺失的第一个正数

题目&#xff1a; 题解&#xff1a; int firstMissingPositive(int* nums, int numsSize) {for (int i 0; i < numsSize; i) {while (nums[i] > 0 && nums[i] < numsSize &&nums[nums[i] - 1] ! nums[i]) {int t nums[nums[i] - 1];nums[nums[i] -…

【办公类-26-01】20240422 UIBOT网络教研(自动登录并退出多个账号,半自动半人工)

作品展示&#xff1a; 背景需求&#xff1a; 每学期有多次网络教研 因为我有历任搭档的进修编号和登录密码&#xff0c; 所以每次学习时&#xff0c;我会把历任搭档的任务也批量完成。 但是每次登录都要从EXCEL里复制一位老师的“进修编号”“密码”&#xff0c;还要点击多次…

【离散数学】特殊图

欧拉图-戈尼斯堡七桥问题 设G是无孤立结点的图&#xff0c;若存在一条通路&#xff08;回路&#xff09;&#xff0c;经过图中每边一次且仅一次&#xff0c;则称该通路&#xff08;回路&#xff09;为该图的一条欧拉通路&#xff08;回路&#xff09;。 具有欧拉回路的图称为…

慧明咨询:成绩公式,发现未知,助力进步

在当今社会,数以万计的学子面临着激烈的教育竞争。2000万的中考生、1000万的高考生、300万的考研生以及500万的国考备考者,都在为了通过这“独木桥”而战。 面对有限的优质学区、师资力量的不足、以及巨大的心理压力,学生及其家长们焦虑不已。为此,深圳市慧明咨询顾问有限公司…

[Meachines][Medium]IClean

Main $ nmap -p- -sC -sV 10.10.11.12 -Pn --min-rate 1000 $ echo "10.10.11.12 capiclean.htb">>/etc/hosts 这题可能和python的SSTI有关 $ gobuster dir --url "http://capiclean.htb" --wordlist /usr/share/seclists/Discovery/Web-Content/c…

部署接入 M3E和chatglm2-m3e文本向量模型

前言 FastGPT 默认使用了 openai 的 embedding 向量模型,如果你想私有部署的话,可以使用 M3E 向量模型进行替换。M3E 向量模型属于小模型,资源使用不高,CPU 也可以运行。下面教程是基于 “睡大觉” 同学提供的一个的镜像。 部署镜像 m3e-large-api 镜像名: stawky/m3e-…

SpringMvc(2)RequestMapping注解

RequestMapping注解 1 、RequestMapping的作用2、RequestMapping的出现位置3、类上与方法上结合使用4、RequestMapping注解的value属性4.1 value属性的使用4.2 Ant风格的value4.3 value中的占位符&#xff08;重点&#xff09; 5、RequestMapping注解的method属性5.2衍生Mappin…