一键安装Mysql、Redis、Nginx脚本

news2024/9/21 16:25:29

目录

一键安装Mysql脚本

一键安装Redis脚本

一键安装Nginx脚本


目的是方便用户快速安装Mysql、Redis、Nginx这三个软件,其中有部分配置可以自行舍取,脚本经供参考,实际工作可按需求调整。

一键安装Mysql脚本

[root@localhost ~]# cat onekey_install_mysql_binary.sh 
#!/bin/bash
 
#步骤:
#解决软件依赖关系
yum install libaio cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel -y

#需要自己下载Mysql二进制镜像

#解压二进制安装包
tar -xvf mysql-8.0.33-linux-glibc2.28-x86_64.tar.gz
 
#移动mysql解压文件到/usr/local下,改名为mysql
mv mysql-8.0.33-linux-glibc2.28-x86_64 /usr/local/mysql
 
#新建组和用户 mysql
groupadd mysql
 
#mysql这个用户的shell 是/bin/false 无法被调用 表示系统用户 属于mysql这个组
useradd -r -g mysql -s /bin/false mysql
 
#进入/usr/local/mysql
cd /usr/local/mysql
 
#关闭firewalld防火墙服务,并且设置开机不启动
service firewalld stop
systemctl disable firewalld 
 
#临时关闭selinux,永久关闭selinux
setenforce 0
sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config
 
#mysql初始化操作
#创建/data/mysql文档用于存放数据使用
mkdir /data/mysql -p
#修改文件权限和组别,这样mysql用户可以对这个文件夹进行读写操作了
chown -R mysql:mysql /data/mysql/
chmod -R 750 /data/mysql/
 
#进入/usr/local/mysql/bin目录下进行初始化操作
cd /usr/local/mysql/bin
#设置启动用户为mysql base目录为/usr/local/mysql/ data目录为/data/mysql   &>passwd.txt目的是将生成的临时密码存入passwd.txt文件中
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql --lower-case-table-names=1 &>passwd.txt 
 
#让mysql支持ssl方式登录的设置
./mysql_ssl_rsa_setup --datadir=/data/mysql/
 
#获得临时密码
tem_passwd=$(cat passwd.txt| grep "temporary" | awk '{print $NF}')
#$NF表示最后一个字段
 
#修改环境变量,添加我们编译安装的mysql的可执行命令的路径
#临时修改PATH变量的值
export PATH=/usr/local/mysql/bin/:$PATH
#永久修改
echo "PATH=/usr/local/mysql/bin:$PATH" >>/root/.bashrc

#刷新环境变量
source ~/.bashrc
 
#复制support-files里的mysql.server文件到/etc/init.d目录下叫mysqld
cp ../support-files/mysql.server  /etc/init.d/mysqld
 
#修改/etc/init.d/mysqld内的第70行的内容(datadir目录的值)
sed -i '70c  datadir=/data/mysql' /etc/init.d/mysqld
 
#生成/etc/my.cnf配置文件
cat  >/etc/my.cnf  <<EOF
[mysqld_safe]
[client]
socket=/data/mysql/mysql.sock
[mysqld]
socket=/data/mysql/mysql.sock
port = 3306
open_files_limit = 8192
innodb_buffer_pool_size = 512M
character-set-server=utf8
[mysql]
auto-rehash
prompt=\\u@\\d \\R:\\m  mysql>
EOF
 
#启动mysqld服务
service mysqld start
 
#将mysqld添加到linux系统里的服务管理名单里
chkconfig --add mysqld
#设置mysqld服务开机启动
/sbin/chkconfig mysqld on
 
#登录重新设置初始密码为123456
#初次修改密码需要使用 --connect-expired-password 选项
#-e 后面接的命令是表示我们需要在mysql里执行的命令
#set password='123456'; 表示修改root用户的密码为:123456 
mysql -uroot -p$tem_passwd --connect-expired-password -e "set password='123456';"
 
#建议修改密码是否修改成功
mysql -uroot -p123456 -e 'show databases;' && echo "database is installed success" 

[root@localhost ~]# 

一键安装Redis脚本

[root@localhost ~]# cat onekey_install_redis.sh 
#!/bin/bash

#安装Redis依赖
yum install gcc tcl -y

mkdir /usr/local/redis/

#下载好的redis安装包
#wget https://github.com/redis/redis/archive/7.2.1.tar.gz

#上传到/usr/local/src目录下
#mv redis-7.2.1.tar.gz /usr/loacl/redis/redis-7.2.1.tar.gz

cd /usr/local/redis/

#解压redis安装包
tar -zxvf redis-7.0.11.tar.gz

#进入redis包,并运行编译
cd redis-7.0.11
make && make install

#关闭firewalld防火墙服务,并且设置开机不启动
service firewalld stop
systemctl disable firewalld

#临时关闭selinux,永久关闭selinux
setenforce 0
sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config

#将redis配置文件备份一份
cp redis.conf redis.conf.bck

# 修改redis备份文件
sed -i 's/^bind .*/bind 0.0.0.0/' redis.conf
sed -i 's/^\(daemonize\) no$/\1 yes/' redis.conf
sed -i '/^# requirepass/s/^# //; /^requirepass/s/.*/requirepass 123456/' redis.conf
sed -i 's/^logfile ""$/logfile "redis.log"/' redis.conf

#重新启动redis
redis-server redis.conf

#实现redis开机自启

cat  >/etc/systemd/system/redis.service  <<EOF
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-7.0.11/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF

#重载系统服务
systemctl daemon-reload

#重启redis
systemctl restart redis

#实现开机自启
systemctl enable redis

#查看redis状态
systemctl status redis

#查看redis版本
redis-server --version

[root@localhost ~]# 

一键安装Nginx脚本

[root@localhost ~]# cat onekey_install_nginx.sh 
#!/bin/bash
 
#新建一个文件夹用来存放下载的nginx源码包
mkdir -p  /nginx
cd /nginx
 
#新建工具人用户、设置无法登录模式
useradd  -s /sbin/nologin  clay
 
#下载nginx
#wget  http://nginx.org/download/nginx-1.23.2.tar.gz
#curl -O http://nginx.org/download/nginx-1.24.0.tar.gz

mv ~/nginx-1.24.0.tar.gz nginx-1.24.0.tar.gz 
 
#解压nginx源码包
tar xf nginx-1.24.0.tar.gz
 
#解决软件依赖关系、需要安装的软件包
yum install epel-release -y
yum install gcc gcc-c++ openssl openssl-devel  pcre pcre-devel  automake  make  psmisc  net-tools lsof vim geoip  geoip-devel wget  zlib zlib-devel -y  
 
#到达nginx配置文件目录下
cd nginx-1.24.0
 
#编译前的配置
./configure  --prefix=/usr/local/nginx  --user=clay  --with-http_ssl_module --with-http_v2_module --with-stream --with-http_stub_status_module --with-threads 
 
#编译、开启一个进程同时编译
make -j 1
 
#编译安装
make install
 
#启动nginx
/usr/local/nginx/sbin/nginx
 
#永久修改PATH变量
PATH=$PATH:/usr/local/nginx/sbin
echo "PATH=$PATH:/usr/local/nginx/sbin"  >>/root/.bashrc
#设置nginx的开机启动--手动添加
#在/etc/rc.local中添加启动命令
#/usr/local/scnginx66/sbin/nginx
echo "/usr/local/nginx/sbin/nginx"  >>/etc/rc.local
#给文件可执行权限
chmod +x /etc/rc.d/rc.local

#刷新/root/.bashrc配置文件
source ~/.bashrc

#selinux和firewalld防火墙都需要关闭
service firewalld stop
systemctl disable firewalld
 
#临时关闭selinux
setenforce 0
 
#永久关闭selinux (需要开机重启)
#vim /etc/selinx/config 
sed -i '/^SELINUX=/ s/enforcing/disabled/'  /etc/selinux/config

#查看nginx是否运行成功
ps aux|grep nginx

[root@localhost ~]# 

安装完成后查看效果:

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

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

相关文章

哪种电容笔好用?apple pencil的平替笔

从Apple pencil的出现&#xff0c;许多小伙伴无论是工作上还是学习上&#xff0c;都需要一款电容笔。而由于现在市面上电容笔的多样化。许多新手小伙伴不知如何挑选一款适合自己的电容笔。那么今天我就给大家总结几款好用又平价的电容笔给大家参考一下&#xff01; 一、使用电…

angular中多层嵌套结构的表单如何处理回显问题

最近在处理angular表单时&#xff0c;有一个4层结构的表单。而且很多元素时动态生成&#xff0c;如下&#xff1a; this.validateFormthis.fb.group({storeId: ["test12"],storeNameKey:[],config:this.fb.group({ tableSize:this.fb.group({toggle:[false],groupSiz…

python 定时任务 传参 及 之前创建 Python包遇到的问题

一 Python 调度器传参 1.1 按位置传参 注意调 args 设置好之后&#xff0c;使用 scheduler.start() 启动调度器。 # 设置调度器 scheduler BlockingScheduler() # 采用阻塞的方式 # 分拆上传数据模块&#xff0c;上传算法使用的数据 scheduler.add_job(funcup_load_da…

这些日常运维实用技巧,忍不住拍案叫绝~

需求 在运维工作中随着我们积累的经验不断增多&#xff0c;不知你是否遇到过以下几个场景&#xff1a; Linux 如何快速删除大量文件&#xff1f; Vsphere 如何在不重启的情况下识别新添加的iscsi硬盘&#xff1f; Linux 中 rm 命令如何做到防误删&#xff1f; 不同 Linux 服…

「四维轻云」v1.4.1版本更新内容

「四维轻云」v1.4.1版本更新主要包含以下内容&#xff1a; 1、倾斜模型三种加载方式 2、矢量数据上传&#xff08;SHP&#xff09; 3、单体化&#xff08;绘制及SHP生成&#xff09; 一、倾斜模型的三种加载方式 在倾斜模型的编辑窗中&#xff0c;可设置数据的加载方式&am…

简单斜率优化

凸壳取点 现在平面上有 n n n个点&#xff1a; ( x i , y i ) (x_i,y_i) (xi​,yi​) 现有一次函数&#xff1a; y k x b ykxb ykxb。 要求一次函数必须至少经过平面当中的一个点。则一次函数可以写作&#xff1a; y i k ⋅ x i b y_ik\cdot x_ib yi​k⋅xi​b 如果斜率…

php版 短信跳转微信小程序

实现这功能首先&#xff0c;小程序端添加业务域名 php代码 <?php declare (strict_types1);namespace app\controller\Admin;use app\model\Set; use app\Request;class Admin_Url_Scheme {public function getScheme(Request $request) {$appid 小程序appid;$secret 小…

问道管理:股票空头是什么意思?

在炒股的时分&#xff0c;咱们经常听到股票空头。那么股票空头到底是什么意思呢&#xff1f;股票空头是相对于股票多头而言的一个术语。股票多头指的是经买入股票并盈利的股民&#xff0c;而股票空头则指的是经过售卖股票猎取赢利的股民。 在一段时间内&#xff0c;股票的涨跌…

如何利用 Selenium 对已打开的浏览器进行爬虫

大家好&#xff01; 在对某些网站进行爬虫时&#xff0c;如果该网站做了限制&#xff0c;必须完成登录才能展示数据&#xff0c;而且只能通过短信验证码才能登录 这时候&#xff0c;我们可以通过一个已经开启的浏览器完成登录&#xff0c;然后利用程序继续操作这个浏览器&…

使用GPA和夜神模拟器实现K帧

之前使用过GPA配合夜神模拟器实现K帧&#xff0c;来查看实际的渲染情况&#xff0c;后来一段时间没有使用&#xff0c;就忘记了具体步骤&#xff0c;这次边试边实现一下相关的具体步骤。 首先去英特尔官网下载工具&#xff1a;https://www.intel.com/content/www/us/en/develo…

看完这位小哥的GitHub,我沉默了

就在昨天&#xff0c;一个名为win12的开源项目一度冲上了GitHub的Trending热榜。 而且最近项目的Star量也在飙升&#xff0c;目前已经获得了2.2k的Star标星。 出于好奇&#xff0c;点进去看了看。好家伙&#xff0c;项目README里写道这是一个14岁的初中生所打造的开源项目。 即…

Mybatis学习笔记1 Mybatis入门

差不多根据mybatis中文文档:创建第一个mybatismaven项目,将它跑起来 入门_MyBatis中文网 新建库 建表 创建项目 重启之后 配置下Maven与encoding 成习惯了 新建模块 注意:这个GroupId和ArtifactId version是之后,你用Maven install时候后存放的包路径和包名 目录结构:虽然换…

aws-msk-托管kafka集群的简单使用(VPC内部访问:无验证和SASL认证)

1.使用控制台创建即可 根据实例类型创建需要至少15分以上&#xff0c;可以提前创建好ec2实例和Secrets Manager,一会会使用到 2. 创建Secrets Manager &#xff08;使用无认证时请跳过&#xff09; 官方文档&#xff1a;https://docs.aws.amazon.com/zh_cn/msk/latest/deve…

Transformer(一)—— Attention Batch Normalization

Transformer详解 一、RNN循环神经网络二、seq2seq模型三、Attention&#xff08;注意力机制&#xff09;四、Transformer4.1 self attention4.2 self-attention的变形——Multi-head Self-attention4.3 Masked Attention4.4 Positional Encoding4.5 Batch Normalization4.6 Lay…

接口自动化之测试数据动态生成并替换

一、测试数据 1. 随机库random 查看内置random方法&#xff0c;该方法自行学习&#xff0c;不再介绍。 show 2. Faker库 pip install faker showHttps://github.com/joke2k/faker 3. 应用到项目中 3.1 思路 在用例数据中添加标志位&#xff0c;设计这个标志位为 {{特…

“数智+绿色”驱动,宏工科技助力线缆线材稳定高品质生产

9月4日-7日&#xff0c;WIRE CHINA 2023中国国际线缆及线材展览会在上海新国际博览中心举办。宏工科技现场展出线缆线材自动化生产一站式解决方案&#xff0c;与现场观众共商“数字化、智能化、绿色化”发展机遇。 线缆是制造业中最大或产品使用范围最广的基础性配套产业之一&a…

索尼 toio™ 应用创意开发征文|创新音乐创作工具的诞生

引言 音乐创作一直是人类创造力的一项重要表现形式。然而&#xff0c;随着技术的不断进步&#xff0c;我们希望能够开发出更加创新的音乐创作工具&#xff0c;以激发音乐人的灵感和创造力。toio™音乐Q宝的诞生正是为了满足这一需求。 一、开发 1.1 toio™机器人初邂逅 toi…

测试开发 | Java 接口自动化测试首选方案:REST Assured 实践

1 . 初识 REST Assured 在 REST Assured 的官方 GitHub 上有这样一句简短的描述&#xff1a; Java DSL for easy testing of REST services 简约的 REST 服务测试 Java DSL 1.1 优点&#xff1a; REST Assured 官方的 README 第一句话对进行了一个优点的概述&#xff0c;总的…

如何把Word转换成PDF文档?分享操作简单的方法

在人们办公过程中&#xff0c;word、excel以及pdf这三种格式的文件经常会被使用到。这三类文件因为格式不同&#xff0c;使用时理论上应该是各管各的&#xff0c;但是实际使用时却时不时会遇到要对它们三者进行格式转换的情况。那么&#xff0c;如何把Word转换成PDF文档呢?接下…

通过IP地址进行精准定位技术、方法与隐私问题的探讨

导语&#xff1a;随着互联网和移动设备的普及&#xff0c;通过IP地址进行精准定位已成为现实。这一技术的发展带来了许多便利&#xff0c;但也引发了隐私问题的关注。本文将探讨通过IP地址进行精准定位的技术、方法以及涉及的隐私问题。 技术和方法&#xff1a; IP地址的基…