使用脚本进行编译安装nginx和安装mysql

1. 编译安装nginx

# 先看有没有安装nginx,然后安装,创建用户,启动cat <<EOF
功能:
1、编译安装nginx
2、初始化功能
3、清理安装环境
4、选择是否启动nginx
EOF# 检查是否安装nginx
nginx_path=`find / -name '*nginx'`
if [ -n "$nginx_path" ];thenread -p "当前环境已安装nginx,是否清理重装[Y|N]" resultif [ "$result" = "Y" ] || [ "$result" = "y" ];thenecho "开始清理nginx环境"rm -rf $resultecho "nginx环境清理完成"elseecho "无法继续执行安装操作,程序终止"exit 1fi
fiecho '当前系统没安装nginx,准备进行安装'
yum clean all && yum makecache
if [ $? -eq 0 ];thenyum -y install gcc make zlib-devel pcre pcre-devel openssl-develecho 'nginx依赖包安装完成'read -p "准备下载nginx包,请输入下载目录" wgnginx_pathecho '下载nginx包'wget http://nginx.org/download/nginx-1.16.1.tar.gzecho '切换到您输入下载的目录中,解压缩'mv nginx-1.16.1.tar.gz $wgnginx_pathcd $wgnginx_pathtar xzf nginx-1.16.1.tar.gzcd nginx-1.16.1read -p "准备安装nginx包,请输入安装目录" agnginx_path./configure --user=www --group=www --prefix=$agnginx_pathecho '编译文件'makeecho '安装文件'make installecho '创建nginx的用户'useradd wwwecho '关闭防火墙和setenforce'systemctl stop firewalld && setenforce 0echo 'nginx编译安装成功'read -p "是否需要启动nginx[Y|N]" ynif [ "$yn" = "Y" ] || [ "$yn" = "y" ];then$agnginx_path/sbin/nginxelseecho '退出脚本流程'exit 0fielseecho "yum程序错误,请检查"
fi

2. yum安装mysql

#!/usr/bin/bashcat <<EOF
功能:
1、yum安装mysql5.7、8.0版本
2、初始化功能
3、清理安装环境
EOF# 检测环境,清理环境
# 1、判断mysql是否已安装
rpm -qa | grep -P "mysql|mariadb" &>/dev/null
# 根据上面命令返回的值判断是否已经安装 0已安装
if [ $? -eq 0 ];thenread -p "当前环境已安装mysql,是否清理[Y|N]" result# result为用户输入的信息判断是否清理if [ "$result" = "Y" ] || [ "$result" = "y" ];thenecho "开始清理mysql环境,对于数据,我将会保留并保存到/tmp/mysql_data目录"# 先停止mysql服务systemctl stop mysqld mariadb &>/dev/null# 清理mysql相关的包yum erase -y `rpm -qa | grep -P "mysql|mariadb"` &>/dev/null# 删除mysql相关的文件rm -rvf /var/log/mysqld.log /etc/my.cnf /var/lib/mysql-files# 备份数据到/tmp/mysql_data中mv /var/lib/mysql /tmp/mysql_data 2>/dev/nullelse# 说明不安装echo "无法继续执行安装操作,程序终止"exit fi
fi
# 先清理yum缓存和建立缓存
yum clean all && yum makecache
if [ $? -eq 0 ];thenecho "开始安装mysql"# 安装mysql的yum源yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm &>/dev/null && \read -p "请选择安装版本的版本号[80|57](default 57):" levellevel=${level:=57}if [ $level -eq 57 ];then# 安装57版本的mysqlyum install -y mysql-community-server --nogpgcheck --enablerepo mysql57-community --disablerepo mysql80-communityelif [ $level -eq 80 ];then# 安装58版本的mysqlyum install -y mysql-community-server --nogpgcheckfi
elseecho "yum程序错误,请检查"
fisystemctl enable mysqld --now
if [ -f /var/log/mysqld.log ];then# 安装成功启动后获取密码passwd=$(grep password /var/log/mysqld.log | awk 'END {print $NF}')# 重新设置密码mysqladmin -uroot -p"$passwd" password 'QianFeng@123'cat <<EOF
mysql $level 安装完成
数据目录位置: /var/lib/mysql
命令位置: /usr/bin
配置文件位置: /etc/my.cnf
日志文件位置: /var/log/mysqld.log
历史数据位置: /tmp/mysql_data
初始密码: QianFeng@123
EOF
elseecho "日志文件无法找到,修改密码失败"
fi

3. shell基本用法

https://blog.csdn.net/weixin_45814478/article/details/137054889?spm=1001.2014.3001.5501

请看上一篇博客

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

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

相关文章

成都市酷客焕学新媒体科技有限公司:实现品牌的更大价值!

成都市酷客焕学新媒体科技有限公司专注于短视频营销&#xff0c;深知短视频在社交媒体中的巨大影响力。该公司巧妙地将品牌信息融入富有创意和趣味性的内容中&#xff0c;使观众在轻松愉悦的氛围中接受并传播这些信息。凭借独特的创意和精准的营销策略&#xff0c;成都市酷客焕…

第二证券|打新股有风险吗?

打新股有危险&#xff0c;其主要危险是破发&#xff0c;其间呈现以下状况&#xff0c;新股可能会破发&#xff1a; 1、估值过高 新股的估值过高&#xff0c;与其价值不相契合&#xff0c;其泡沫性较大&#xff0c;然后导致个股在上市之后&#xff0c;稳健投资者以及主力大量地…

maven3.8.1开始不支持http私有库

问题 since maven 3.8.1 http repositories are blocked. 意思是从maven3.8.1版本开始&#xff0c;maven不在认http的私有库&#xff0c;它觉得http私有库不安全。 解决 我直接回退到maven3.8.1之前一个版本&#xff0c;maven3.6.3。我不想去研究settings.xml怎么去配置放心…

10个替代Sketch的软件大盘点!第一款震撼来袭!

Sketch是Mac平台上专门为用户界面设计的矢量图形绘制工具。Sketch简单的界面背后有优秀的矢量绘制能力和丰富的插件库。但遗憾的是&#xff0c;Sketch只能在Mac平台上使用和浏览&#xff0c;而且是本地化的工具&#xff0c;云共享功能并不完善。在本文中&#xff0c;我们评估了…

金三银四面试题(一):JVM类加载与垃圾回收

面试过程中最经典的一题&#xff1a; 请你讲讲在JVM中类的加载过程以及垃圾回收&#xff1f; 加载过程 当Java虚拟机&#xff08;JVM&#xff09;启动时&#xff0c;它会通过类加载器&#xff08;ClassLoader&#xff09;加载Java类到内存中。类加载是Java程序运行的重要组成…

最佳矢量绘图设计软件Sketch for Mac v99.5 最新中文激活版

Sketch for Mac是一款功能强大的矢量绘图软件&#xff0c;它提供了简单易用的界面和丰富的工具&#xff0c;让用户能够轻松创建精美的设计作品。 软件下载&#xff1a;Sketch for Mac v99.5 最新中文激活版 Sketch具有直观的布局和智能的工具&#xff0c;使得设计师能够快速实现…

python(一)网络爬取

在爬取网页信息时&#xff0c;需要注意网页爬虫规范文件robots.txt eg:csdn的爬虫规范文件 csdn.net/robots.txt User-agent: 下面的Disallow规则适用于所有爬虫&#xff08;即所有用户代理&#xff09;。星号*是一个通配符&#xff0c;表示“所有”。 Disallow&…

Scikit-Learn K近邻分类

Scikit-Learn K近邻分类 1、K近邻分类1.1、K近邻分类及原理1.2、超参数K1.3、K近邻分类的优缺点2、Scikit-Learn K近邻分类2.1、Scikit-Learn K近邻分类API2.2、K近邻分类实践(鸢尾花分类)2.3、交叉验证寻找最佳K2.4、K近邻分类与Pipeline1、K近邻分类 K近邻是一种常用的分类…

JSP基础

一、JSP JSP&#xff08;全称&#xff1a;Java Server Pages&#xff09;&#xff1a;Java 服务端页面。是一种动态的网页技术&#xff0c;其中既可以定义 HTML、JS、CSS等静态内容&#xff0c;还可以定义 Java代码的动态内容&#xff0c;也就是 JSP HTML Java 。如下就是js…

SHELL(01)

Shell基础 Shell : [ 解释器 ] 在Linux内核与用户之间的解释器程序通常指 /bin/bash , 这是系统默认解释器负责向内核翻译及传达用户/程序指令相当于操作系统的 “外壳” Shell的使用方式 交互式指令---------------命令行 人工干预智能化程度高逐条解析执行 , 效率低 非交互…

【NOI】树的初步认识

文章目录 前言一、树1.什么是树&#xff1f;2.树的基本概念3.树的基本术语3.1 节点3.1.1 根节点3.1.2 父节点、子节点3.1.3 兄弟节点、堂兄弟节点3.1.4 祖先节点、子孙节点3.1.5 叶子节点/终端节点3.1.6 分支节点/非终端节点 3.2 边3.3 度3.3.1 树的度 3.4 层次3.4.1 树的深度3…

ERROR: No matching distribution found for tb-nightly

问题描述 安装tb-lightly失败&#xff1a;ERROR: No matching distribution found for tb-nightly 解决方案 因为我的镜像源默认是清华的&#xff0c;但是pip源中没有对应的“tb-nightly”依赖包。 如果不知道的&#xff0c;也可以查看一下pip的配置&#xff1a; python -m …

【Go】结构体中Tag标识

https://blog.csdn.net/weixin_45193103/article/details/123876319 https://blog.csdn.net/qq_49723651/article/details/122005291 https://juejin.cn/post/7005465902804123679 学一点&#xff0c;整一点&#xff0c;基本都是综合别人的&#xff0c;弄成我能理解的内容 Tag定…

前端 插件/库 总结

1. antv/g6 图可视化引擎。它提供了图的绘制、布局、分析、交互、动画等图可视化的基础能力 官方文档&#xff1a;快速上手 | G6 vue antvG6树图的摸索总结—新手入门 vue antv-G6树图的摸索总结—新手入门_antv g6-CSDN博客 AntV G6的相关使用总结 AntV G6的相关使用总结…

GeoTrust SSL证书有什么优势?

GeoTrust SSL证书具备以下显著优势&#xff1a; 1. 市场占有率比较高&#xff1a;GeoTrust作为知名的SSL证书供应商&#xff0c;拥有广泛的市场接受度和高占有率&#xff0c;表明其产品受到众多企业和网站的信任和采用。 2. 品牌信誉与信任标识&#xff1a;在高安全性浏览器中&…

Unity3d使用Jenkins自动化打包(Windows)(一)

文章目录 前言一、安装JDK二、安装Jenkins三、Jenkins插件安装和使用基础操作 实战一基础操作 实战二 四、离线安装总结 前言 本篇旨在介绍基础的安装和操作流程&#xff0c;只需完成一次即可。后面的篇章将深入探讨如何利用Jenkins为Unity项目进行打包。 一、安装JDK 1、进入…

在word中显示Euclid Math One公式的问题及解决(latex公式,无需插件)

问题&#xff1a;想要在word中显示形如latex中的花体字母 网上大多解决办法是安装Euclid Math One。安装后发现单独的符号插入可行&#xff0c;但是公式中选择该字体时依然显示默认字体。 解决办法&#xff1a;插入公式后&#xff0c;勾选左上角的latex 在公式块中键入latex代码…

前端理论总结(css3)——css新特性//盒模型

css新特性 1&#xff1a;新增各种CSS选择器 &#xff08;:not(.input)&#xff1a;所有class不是“input”的节点&#xff09; 2&#xff1a;RGBA 3&#xff1a;多栏布局&#xff08;column-count/gap/rule&#xff09; 4&#xff1a;多背景图&#xff08;ba…

Go语言爬虫实战(线程池)

Go语言爬虫实战 目标 利用go语言爬取指定网站的图片。实现爬取网站任意页面所有所需的图片。实现使用go语言线程池开启多个线程爬取图片内容。最后实现创建多个文件夹存储图片。 爬取网站图片 步骤 对指定URL发去GET请求&#xff0c;获取对应的响应。 resp, err : http.Get(…

【JavaWeb】Day24.Web入门——HTTP协议(一)

HTTP协议——概述 1.介绍 HTTP&#xff1a;Hyper Text Transfer Protocol(超文本传输协议)&#xff0c;规定了浏览器与服务器之间数据传输的规则。 http是互联网上应用最为广泛的一种网络协议http协议要求&#xff1a;浏览器在向服务器发送请求数据时&#xff0c;或是服务器在…