安装 vsftpd mysql8.0 nginx redis emqx

安装mysql 8.0 的文档 感觉还可以

https://blog.csdn.net/qq_21361773/article/details/125829452

注意最后在用临时密码登录数据库的时候,直接修改密码,不然你做其他操作他会一直提示你让你修改密码 ,然后才能操作

安装 vsftpd mysql8.0 nginx redis emqx

#!/bin/bash
echo -e "\033[44;37m           使用说明书        \033[0m"
echo -e "\033[40 37m      ftp的连接地址,如果是生产上的话,则开启fix_ftp 这个函数,并修改ftp的连接地址,如果是测试环境则在函数哪里将其注释即可 \033[0m"
echo -e "\033[31m       看完这些之后,会暂停20秒钟,如果要修改ctrl +C ,进入脚本修改指定的参数,如果不需要会继续执行 \033[0m"
sleep 20

# 创建安装所需服务的安装目录
mkdir -p /opt/ygzy/jar/{account,org}
mkdir -p /opt/ygzy/{redis,nginx,mysql}
# 安装相关命令
yum -y install wget vim net-tools unzip lrzsz
# 安装jdk java1.8
wget -P /opt/ygzy/ https://mirrors.huaweicloud.com/java/jdk/8u191-b12/jdk-8u191-linux-x64.tar.gz >/dev/null && echo -e "\033[32m 下载完成\033[0m"
cd /opt/ygzy/ && tar -zxf  jdk-8u191-linux-x64.tar.gz && rm -rf jdk-8u191-linux-x64.tar.gz >/dev/null && echo -e "\033[32m 解压完成\033[0m"
# 加入配置文件,这个<<- 的意思是防止出现 下面的那个EOF 有制表符,也当作内容输入进去
cat <<- 'EOF' >> /etc/profile
export JAVA_HOME=/opt/ygzy/jdk1.8.0_191
export JAVA_HOME=/opt/ygzy/jdk1.8.0_191/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
EOF

source /etc/profile &&  java -version  >java.txt && cat java.txt

# 开始安装相应的服务
echo -e -n "\033[32m 当前可以安装的服务有:\033[0m";echo -e  "\033[32m nginx redis mysql emqx ftp \033[0m"


function add_nginx_file (){
cat <<-'EOF' >> /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/opt/ygzy/nginx/sbin/nginx
[Install]
WantedBy=multi-user.target
EOF
}


function fix_reconfigure_mysql (){
mysql -uroot -p' ' <<- 'EOF'
create database cloud;
use mysql;
set global validate_password.length=1; 
set global validate_password.policy=0; 
flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'samysql@Y6516~';
flush privileges;
create user 'root'@'%' identified by 'samysql@Y6516~';
flush privileges;
grant all privileges on *.* to 'root'@'%' with grant option;
create user 'test'@'localhost' identified by 'test@Y6516~';
flush privileges;
create user 'test'@'%' identified by 'test@Y6516~';
flush privileges;
grant all privileges on *.* to 'root'@'%' with grant option;
grant all privileges on *.* to 'root'@'localhost' with grant option;
flush privileges;
grant all privileges on cloud.* to 'test'@'localhost' with grant option;
grant all privileges on cloud.* to 'test'@'%' with grant option;
grant all on cloud.* to 'test'@'localhost' with grant option;
grant all on cloud.* to 'test'@'%' with grant option;
flush privileges;
EOF
}


function fix_ftp (){
cat <<-'EOF' >>  /etc/vsftpd/vsftpd.conf
local_root=/data/ftpdata/sunsoft
pasv_enable=yes
pasv_min_port=30000
pasv_max_port=31000
pasv_address=192.168.1.122
EOF
}

while :
do
	echo "********************"
	echo "        menu        "
	echo "nginx"
	echo "redis"
	echo "mysql"
	echo "emqx"
	echo "ftp"
	echo "qxit"

	read -p "Please enter the name of the software you want to install(只输入开头的一个字母即可):" server
	case "$server" in
		[nN]|[gG][iI][nN][xX] )
			echo -e  "\033[32m*****开始安装nginx******** \033[0m"
			yum -y install openssl openssl-devel pcre-devel gcc-c++ zlib zlib-devel
			mkdir -p /opt/ygzy/jar/org/temp/
			wget -P /opt/ygzy/ https://nginx.org/download/nginx-1.16.1.tar.gz
			cd /opt/ygzy/ &&   tar -zxf nginx-1.16.1.tar.gz -C /opt/ygzy/ && cd /opt/ygzy/nginx-1.16.1 && ./configure --prefix=/opt/ygzy/nginx --with-http_stub_status_module --with-http_ssl_module && make && make install
			echo 'export PATH=$PATH:/opt/ygzy/nginx/sbin' >> /etc/profile
			source /etc/profile
			add_nginx_file
			systemctl start nginx && systemctl enable nginx && echo -e  "\033[32m*****nginx启动完成********\033[0m"	
			read -p "press [enter] key to continue..." Key	
			;;	
		[rR]|[eE][dD][iI][sS])
			echo -e  "\033[32m*****开始安装redis********\033[0m"
			wget -P /opt/ygzy/ http://download.redis.io/releases/redis-4.0.2.tar.gz  && echo -e  "\033[32m*****下载完成********\033[0m"
			cd /opt/ygzy/ &&  tar -zxf  redis-4.0.2.tar.gz -C /opt/ygzy/  && mv /opt/ygzy/redis-4.0.2/* /opt/ygzy/redis/  && cd /opt/ygzy/redis/ && make  && make install
			ln -s /opt/ygzy/redis/src/* /usr/bin/
			echo  '511' > /proc/sys/net/core/somaxconn 
			echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf
			sysctl vm.overcommit_memory=1
			echo never > /sys/kernel/mm/transparent_hugepage/enabled
			##创建数据目录
			mkdir  /opt/ygzy/redis/pidfile
			mkdir -p /opt/ygzy/redis/logs/logfile
			mkdir  /opt/ygzy/redis/dir
			## 修改配置文件
			sed -i '/bind 127.0.0.1/s/127.0.0.1/0.0.0.0/' /opt/ygzy/redis/redis.conf
			sed -i '/daemonize no/s/daemonize no/daemonize yes/' /opt/ygzy/redis/redis.conf
			sed -i '/pidfile \/var\/run\/redis_6379.pid/s/pidfile \/var\/run\/redis_6379.pid/pidfile \/opt\/ygzy\/redis\/pidfile\/redis_6379.pid/' /opt/ygzy/redis/redis.conf
			sed -i '/logfile \"\"/s/logfile \"\"/logfile \"\/opt\/ygzy\/redis\/logs\/redis-6379.log\"/' /opt/ygzy/redis/redis.conf
			sed -i '/dir \./s/dir \./dir \/opt\/ygzy\/redis\/dir\//' /opt/ygzy/redis/redis.conf
			redis-server /opt/ygzy/redis/redis.conf && ps -ef | grep 0.0.0.0:6379 && echo $? && echo -e "\033[32m*****redis启动完成******\033[0m"
			read -p "press [enter] key to continue..." Key	
			;;          
		[mM]|[yY][sS][qQ][lL])
			echo -e  "\033[32m*****开始安装mysql********\033[0m******"
			wget -P /opt/ygzy/mysql/ http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm && echo -e "\033[32m*****mysql安装包下载完成*******\033[0m"
			# 安装mysql的rpm包并安装 
			cd /opt/ygzy/mysql/ && yum -y install mysql80-community-release-el7-3.noarch.rpm &&  echo -e "\033[32m*****mysqlrpm包安装完成*******\033[0m"
			# 校验安装包
			rpm --checksig mysql-community-server-8.0.28-1.el8.x86_64.rpm
			rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
			yum -y install mysql-community-server &&  echo -e "\033[32m*****mysql服务端下载完成*******\033[0m"
			# 跳过密码并重启
			echo "skip-grant-tables">> /etc/my.cnf && systemctl start mysqld.service && echo -e "\033[32m*****mysql启动成功*******\033[0m" && systemctl status mysqld.service 
			# 调用函数
			fix_reconfigure_mysql
			# 删除最后一行的密码
			sed -i '$d' /etc/my.cnf
			systemctl restart mysqld.service &&  echo -e "\033[32m*****mysql启动成功*******\033[0m" && systemctl status mysqld.service 
			read -p "press [enter] key to continue..." Key	
			;;
		[eE]|[mM][qQ][xX])
			# 1、 安装依赖
			yum install -y yum-utils device-mapper-persistent-data lvm2
		
			#获取当前系统的发行版本
			VERSION=$(cat /etc/redhat-release)

			#提取当前系统的版本号
			V_NUM=${VERSION:21:1}  
			echo -e "\033[35m 当前的版本号为:$V_NUM \033[0m"
		
			if [ $V_NUM=='7' ]  ;then
				# 设置稳定存储库(centos7)
				yum-config-manager --add-repo https://repos.emqx.io/emqx-ce/redhat/centos/7/emqx-ce.repo
			else
				# 2、 设置稳定存储库(centos8)
				yum-config-manager --add-repo https://repos.emqx.io/emqx-ce/redhat/centos/8/emqx-ce.rep
			fi
		
			# 3、查看当亲版本有哪些
			yum list emqx --showduplicates | sort -r
			# 4、安装指定版本
			yum -y install emqx-4.3.3
			# 5、启动
			systemctl start emqx && systemctl enable emqx && echo -e "\033[32m*****EMQX启动完成******\033[0m"	 	
			read -p "press [enter] key to continue..." Key
			;;
		[fF]|[tT][pP])
			# 1、安装vsftpd
			yum install -y vsftpd
			# 2、编辑ftp配置文件
			# 禁止匿名用户登录
			sed -i '/anonymous_enable=YES/s/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf
			# 允许本地用户登录
			sed -i 's/^#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf
			# 允许写入操作
			sed -i '$a allow_writeable_chroot=YES' /etc/vsftpd/vsftpd.conf
			
			# echo -e "\033[31m 这里ftp的地址根据实际情况进行改变,此处暂时写成固定的 \033[0m"		
			# sed -i '$a pasv_address=192.168.1.122' /etc/vsftpd/vsftpd.conf

			# 调用函数
			fix_ftp
			# 3、启动
			systemctl start vsftpd  && systemctl enable vsftpd && echo -e "\033[32m*****FTP启动完成******\033[0m"
			#4、建立ftp账户
			#创建账户目录 
			mkdir -p /data/ftpdata/
			# 创建用户组和用户
			groupadd sunsoft
			useradd -d /data/ftpdata/sunsoft -g sunsoft sunsoft
			# 为ftp设置密码
			echo 'zyftp@Y6516$'  | passwd --stdin sunsoft
	
			# 6、设置账户权限
			chown -R sunsoft:sunsoft /data/ftpdata/sunsoft
			chmod 777 /data/ftpdata/sunsoft/
			# FTP 安装完毕
			echo -e "\033[32m*****FTP--successful******\033[0m"	
			read -p "press [enter] key to continue..." Key
			;;
		[qQ]|[uU][iI][tT])
			echo -e "\033[32m*****欢迎使用******\033[0m"
			exit 0
			;;
		
		*)	
			echo -e "\033[32m*****安装失败******\033[0m"
			read -p "press [enter] key to continue..." Key	
		;;
	esac	
	
done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值