玩转Linux—如何在Linux环境中部署MySQL、Redis和nginx

news2024/10/7 18:22:45

1、Linux常用命令 

Linux学习之路:  VMware虚拟机安装Linux系统(详解版)

  • 查看当前文件目录:ls
  • 查看目录中文件详细信息:ll
  • 输出当前所处的目文件目录:pwd
  • Linux查看当前IP地址ifconfig
  • Windows查看当前IP地址:ipconfig
  • 新建一个文件:mkdir 文件名
  • 解压.gz文件:tar -zxvf 压缩包文件名
  • 解压.tar文件:tar -xvf 压缩包文件名
  • Linux文件系统:vim /etc/profile
    • 配置环境变量:
    1. 进入文件系统后,将光标移动到文章末尾,输入“i”,即可编辑文件,完成后按”esc“输入“:wq”即可(w:保存;q:退出)—>(不保存退出:“esc键”—":q!")
    2. 退出后,输入"source /etc/profile",使配置生效
    • 搜索指定字段:
      • /字段​     (/+要搜索的字段​​​)​​​
  • 读取文件:cat 文件路径
  • 查看JDK版本:java -version
  • 抓取某个服务的进程:ps -ef | grep mysql
  • 复制某个文件到当前目录:cp /usr/local/redis文件目录/redis.conf ./    (./ 表示当前目录)
  • 移动文件:mv redis.conf 6739.conf  (将redis.con重命名为6739.conf   也可以移动到指定目录
  • 强杀进程:kill -9 进程id
  • 删除文件:rm -f 文件绝对路径

2、安装MySQL

(1)下载并解压数据库文件        

官网下载地址:
MySQL :: MySQL Downloadsicon-default.png?t=N7T8https://www.mysql.com/downloads/

        //要注意:我们这次使用的是Linux系统,所以要下载一个linux 64位的.tar文件

检测系统中是否有预先安装的数据库文件:

  •  抓取当前系统中有没有数据库文件:rpm -qa | grep mariadb
  • 移除系统中原有的数据库文件:

  • 解压tar文件:tar -xvf 文件夹名字

(2)执行命令并进行安装

         将.tar文件解压后即可看到下述文件

  • 安装common

命令:rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm --nodeps --force

  • 安装libs

 命令:rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm --nodeps --force

  • 安装 client

命令:rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm --nodeps --force 

  • 安装server

命令:rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm --nodeps --force

  • 查看刚刚安装的包

命令:rpm -qa | grep mysql 

(3)MySQL初始化 

命令:mysqld --initialize

        注意:如果报错以下信息:mysqld : error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

#方案1

yum install -y libaio

#方案2 如果方案1安装后,继续初始化mysql没有成功,则执行该方案

yum install -y libaio.so.1

  •  授权防火墙服务

命令:

#给mysql目录授权给mysql组合中的mysql用户,该步骤一般不用操作,我们使用的root用户拥有所有的权限

chown mysql:mysql /var/lib/mysql -R;  # chown(授权);  "/var/lib/mysql"(安装目录)

#启动MySQL服务

systemctl start mysqld.service;

#配置开机启动

systemctl enable mysqld;

  • 查看数据库默认密码

命令:cat /var/log/mysqld.log | grep password    #(grep 抓取关键字)

 拿到数据库密码后要记得复制一下

  • 连接到数据库

命令:mysql -u root -p

  • 修改数据库密码

命令:

#本机修改密码

ALTER USER ‘root’@'localhost' IDENTIFIED WITH mysql_native_password BY '1231456'; 

#远程修改密码

ALTER USER ‘root’@'%' IDENTIFIED WITH mysql_native_password BY '1231456'; 

  • 数据库授权远程访问

命令:

     #创建一个能被外界所有ip访问的root用户,并且设置密码是‘123456’

        create user 'root'@'%' identfied with mysql_native_password by '123456';

     #给创建的这个root用户授权所有的表的访问权限

        grant all privileges on *.* to  'root'@'%' with grant option;

     # 授权后刷新

        flush privileges; 

        当我们执行到这一步的时候,我们还是没法连接到我们的远程数据库,原因是我们没有在防火墙上开启数据库的访问端口。 

(4)防火墙配置

        在远程连接我们虚拟机上的数据库时,需要开启防火墙,CentOS6采用的是iptables,而CentOS7采用的是systemctl,所以下面我们采用CentOS7的配置

#查看防火墙状态

systemctl status firewalld

#启动防火墙,防火墙启动后,除了22端口默认开启外,其他端口均需要手动开启

systemctl start firewalld

#添加端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --zone=public --add-port=443/tcp --permanent    #https端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent   #数据库端口

#重新加载

firewall-cmd --reload

 (5)MySQL拓展

  • 查看mysql配置文件

# 默认的配置文件为:/etc/my.cnf

cat /etc/my.cnf

  • 注意

Linux下严格区分大小写,所以我们写的SQL语句中表名也要严格区分大小写

# 忽略大小写配置(一定要在建表之前加)

vim /etc//my.conf

[mysqld]

lower_case_table_names=1 

3、Redis服务安装

(1)下载安装

  • 在/usr/local目录下新建redis文件夹

命令:

cd /usr/local

  • 在线下载

Download | RedisRedisYou can download the last Redis source files here. For additional options, see the Redis downloads section below.Stable (7.2)Redis 7.2 …icon-default.png?t=N7T8https://redis.io/download/

  • 离线下载(*需要安装wget,不推荐使用

命令:wget https://download.redis.io/redis-stable.tar.gz

  • 解压

命令:tar -xzf 文件夹名字

  • 安装gcc

        由于Redis通过源码安装,依赖gcc编译器,首要要确定机器的gcc版本,保证其gcc版本在4.2以上

#查看gcc版本(如果没有或者版本较低,需要重新安装)

gcc -v

#安装命令

yum install gcc

  • 安装redis

#进入redis目录

cd redis目录

#编译安装

make MALLOC=libc

#编译测试

make test

若编译测试出现问题,则直接安装肯定也是不通过的,我是遇到了下面的问题

解决方案:

#安装tcl包

yum install tcl

安装完成后要再次执行make test,直到输出成功为止

#测试成功后,安装redis

cd src && make install

  • 启动redis服务

命令:进入src目录后执行    ./redis-server

这种启动方式会随着后台的推出而关闭,所以我们要将该服务用后台启动的方式启动 

(2)将redis服务配置为后台服务

  •  修改redis.conf文件

命令:vim redis.conf

将 ‘daemonize no’ 改为 ‘daemonize yse’

  • 将redis.conf复制到/etc/redis目录下,并改名为‘6379.conf’

命令:

cd /etc

mkdir redis

cd redis

cp /usr/local/redis文件目录/redis.conf ./     #复制redis.conf到当前目录(./ 表示当前目录)

  •  复制启动脚本到/etc/rc.d/init.d/,并改名为redisd(redisd就是我们的启动脚本)

#启动脚本在/redis目录/utils目录下

cp -f /usr/local/redis/redis目录/utils/redis_init_script /etc/rc.d/init.d/redisd

  • 修改复制后的redis文件,使之能成为服务

cd /etc/rc.d/init.d/

vim redisd

修改EXEC、CLIEXEC的路径

#原内容

EXEC=/usr/local/bin/redis-server

CLIEXEC=/usr/local/bin/redis-cli

#修改后的内容

EXEC=/usr/local/redis/redis目录/src/redis-server

CLIEXEC=/usr/local/redis/redis目录/src/redis-cli

在$EXEC $CONF后面加上$

找到bind 将他的值改为0.0.0.0(表示所有ip都可以连接)

esc  :wq  保存后退出

添加开机启动

chkonfig redisd on

启动

service redisd start

当你启动成功后,我们的redis就被作为一个服务并且开机自启动

停止服务

service redisd stop

(3)修改redis密码

#编辑redis文件下的6379.conf文件

vim /etc/redis/6379.conf

#找到requirepass字段

/requirepass

#进入编辑模式

i

#修改requirepass的值即可

#保存并退出

esc ——》 :wq 

#重启redis服务

service redisd stop

service redisd start

  • 如何使用redis密码

redis-cli

auth 密码

set ** (定义变量)

get ** (获取变量)

(4)用远程客户端连接redis

我们第一次连接redis的时候需要检测防火墙是否开启,并且将redis的端口开放

#查看防火墙状态

systemctl status firewalld

#添加端口

firewall-cmd --zone=pubilc --add-port=6379/tcp --permanent

#重新加载

firewall-cmd --reload

4、nginx安装 

(1)下载

nginx: downloadicon-default.png?t=N7T8https://nginx.org/en/download.html下载后直接将安装包上传至CentOS下的/usr/local目录下

  • wegt直接下载

cd /usr/local

wegt http://nginx.org/download/nginx-1.25.2.tar.gz

(2)安装

  • 解压

 命令:tar -zxvf 压缩文件     (解压后不要改名字)

  • 安装前准备

安装前先安装nginx所需要的依赖库,如果缺少依赖库,可能会安装失败

 yum install gcc-c++

 yum install pcre

 yum install pcre-devel

 yum install zlib

 yum install zlib-devel

 yum install openssl

 yum install openssl-devel

  • 进入nginx-1.25.2目录 ,并执行以下配置命令

cd nginx-1.25.2

./configure     #执行configure文件

        configure操作会检测当前系统环境,以确保能成功安装nginx,如果出错,请检查上述安装前依赖包是否已经安装。

  • 执行make安装

注意:下面2步会将nginx安装到/usr/local/nginx目录下,所以请勿占用nginx目录名

#make

make install

如果上述2步操作未报错,那么切换到上一级目录,会发现nginx目录已经存在了

(3)配置nginx开机启动

切换到/lib/systemd/system/目录,创建nginx.service文件

cd /lib/systemd/system/

vim nginx.service

添加如下内容

[Unit]

Description=nginx

After=network.target

[Service]

Type=forking

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx reload

ExecStop=/usr/local/nginx/sbin/nginx quit

PrivateTmp=true

[Install]

WantedBy=multi-user.target

退出并保存文件,执行如下命令,让nginx开机启动

systemctl start nginx.service

#启动nginx

 systemctl start nginx.service

#结束nginx

 systemctl stop nginx.service

#重启nginx

 systemctl restart nginx.service

(4) 检验是否安装成功

        在浏览器访问http://192.168.2.204/

视频学习地址:40.1Linux下载安装_哔哩哔哩_bilibili40.1Linux下载安装是CentOS安装Java环境部署Nginx项目(Linux系统)的第1集视频,该合集共计6集,视频收藏或关注UP主,及时了解更多相关视频内容。icon-default.png?t=N7T8https://www.bilibili.com/video/BV1gt411A798?p=1&vd_source=a1da35b9452502cc62a9b06ffba55be2

持续跟新中,敬请期待~~~~ 

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

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

相关文章

如何使用大语言模型来绘制图画

请创作一张科技感十足的图片,包含siri和iphone两个元素,请帮我挑选合适的style和background 好的,我会为你创作一张科技感十足的图片,包含siri和iphone两个元素。我会根据你的要求,选择一种适合的风格和背景。请稍等一…

制作电子期刊没模板?请疯狂看我

你们是不是也在为制作电子期刊而烦恼?没有合适的模板,内容再精彩也难以展现。今天给大家分享一个超级实用的秘籍!✨ 首先,我们要明白,电子期刊制作的关键在于模板的选择。一个好的模板可以让你的内容瞬间焕发光彩。但是…

Nodejs 第十七章(events)

EventEmitter Node.js 核心 API 都是采用异步事件驱动架构,简单来说就是通过有效的方法来监听事件状态的变化,并在变化的时候做出相应的动作。 fs.mkdir(/tmp/a/apple, { recursive: true }, (err) > {if (err) throw err; });process.on(xxx,()>…

玩转ChatGPT:DALL·E 3生成图像

一、写在前面 好久不更新咯,因为没有什么有意思的东西分享的。 今天更新,是因为GPT整合了自家的图像生成工具,名字叫作DALLE 3。 DALLE 3是OpenAI推出的一种生成图像的模型,它基于GPT-3架构进行训练,但是它的主要目…

STM32CubeMX学习笔记-USART_DMA

STM32CubeMX学习笔记-USART_DMA 一、DMA的概念二、数据传输方式普通模式循环模式 三、以串口方式讲解串口DMA方式发送函数:HAL_UART_Transmit_DMA串口DMA方式接收函数:HAL_UART_Receive_DMA获取未传输数据个数函数:__HAL_DMA_GET_COUNTER关闭…

IIS解决上传文件大小限制

IIS解决上传文件大小限制 目的&#xff1a;通过配置文件和IIS来解决服务器对上传文件大小的限制 1&#xff1a;修改配置文件&#xff08;默认为4M 值的大小根据自己情况进行修改&#xff09; <httpRuntime maxRequestLength"2048000" /> 2&#xff1a;修改IIS配…

LVGL_基础控件Switch_Button

LVGL_基础控件Switch_Button 1、创建switch_button /* 创建一个 switch 部件(对象) */ lv_obj_t * sw lv_switch_create(lv_scr_act()); // 创建一个 switch 部件(对象),他的父对象是活动屏幕对象 lv_obj_center(sw); // 方法1&…

我的创作纪念日-第1024天

文章目录 一、机缘二、收获三、日常四、憧憬 一、机缘 不知不觉&#xff0c;已经加入CSDN这个大家庭5年多了&#xff0c;回想起3年前发布第一篇博客的时候&#xff0c;那时我记得很清楚&#xff0c;我在做项目时遇到报错&#xff0c;解决问题之后&#xff0c;然后想起了好多人…

10分钟了解数据架构、数据模型

写在前面&#xff1a;很多小伙伴分不清数据架构与数据模型&#xff0c;同时如何做好数据建模也有一定的疑问 1. 数据架构、数据模型、数据建模区别与联系 企业架构包含业务架构、数据架构、应用架构和技术架构。数据架构的主要目标是有效的管理数据&#xff0c;以及有效地管理…

Docker---cgroups资源限制

目录 一、cpu资源控制 1、 设置cpu使用率上限 2、设置cpu资源占用比&#xff08;设置多个容器时才有效&#xff09; 3、设置容器绑定指定的CPU 三、内存资源控制 四、磁盘IO配额控制 1、限制Block IO 2、限制bps和iops进行限制 一、cpu资源控制 cgroups是一个非常强大的…

Vue组件路由

1&#xff0c;安装vue-router组件&#xff0c;终端输入&#xff1a; npm i vue-router3.5.3 2&#xff0c;在src文件夹下创建router目录 3&#xff0c;创建index.js文件&#xff0c;配置路由&#xff0c;导入需要路由的组件。以后每次添加路由只要在routes中改变即可。 impo…

YOLOV7改进实操-添加Wise IoU,实现有效提点

1、打开utils->general.py&#xff0c;找到bbox_iou&#xff08;&#xff09;&#xff0c;345行左右&#xff0c;将下面的与源码进行替换 wiou有三个版本&#xff0c;可以替换&#xff0c;看看哪一个提点多 class WIoU_Scale: monotonous: {None: origin v1True: monotoni…

NEFU数字图像处理(1)绪论

一、简介 1.1什么是数字图像 图像是三维场景在二维平面上的影像。根据其存储方式和表现形式&#xff0c;可以将图像分为模拟图像和数字图像两大类 图像处理方法&#xff1a;光学方法、电子学方法 模拟图像&#xff1a;连续的图像数字图像&#xff1a;通过对时间上和数值上连续…

PHP 选课管理系统mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP 选课管理系统是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 php 选课管理系统 代码 https://download.csdn.net/download/qq_41221322/88389656 二…

笔记本休眠,USB仍对外供电,关闭方法

如下图的&#xff0c;联想笔记本电脑不紧有对外USB供电功能&#xff0c;还有大对外大电流供电功能&#xff08;1A&#xff0c;带电池符号的USB&#xff09;。 如何关闭“关机/休眠时仍对外供电”的功能&#xff1f;比如&#xff0c;让笔记本在休眠时&#xff0c;所连接的USB风…

代码随想录算法训练营第23期day11 | 20. 有效的括号、1047. 删除字符串中的所有相邻重复项 、150. 逆波兰表达式求值

目录 一、&#xff08;leetcode 20&#xff09;有效的括号 二、&#xff08;leetcode 1047&#xff09;删除字符串中的所有相邻重复项 用栈存放 将字符串直接当成栈 三、&#xff08;leetcode 150&#xff09;逆波兰表达式求值 一、&#xff08;leetcode 20&#xff09;…

websocket实现go(server)与c#(client)通讯

go 服务端 使用到github.com/gorilla/websocket package mainimport ("fmt""github.com/gorilla/websocket""log""net/http" )func main() {var upgrader websocket.Upgrader{ReadBufferSize: 1024,WriteBufferSize: 1024,CheckOr…

GPU如何成为AI的加速器

0. 前言 按照国际惯例&#xff0c;首先声明&#xff1a;本文只是我自己学习的理解&#xff0c;虽然参考了他人的宝贵见解&#xff0c;但是内容可能存在不准确的地方。如果发现文中错误&#xff0c;希望批评指正&#xff0c;共同进步。 本文关键词&#xff1a;GPU、深度学习、GP…

MySQL:温备份和恢复-mysqldump (4)

介绍 温备&#xff1a;同样是在数据库运行的时候进行备份的&#xff0c;但对当前数据库的操作会产生影响。&#xff08;只可以读操作&#xff0c;不可以写操作&#xff09; 温备份的优点&#xff1a; 1.可在表空间或数据文件级备份&#xff0c;备份时间短。 2.备份时数据库依然…

智能AI创作系统ChatGPT商业运营版源码+AI绘画系统/支持GPT联网提问/支持Midjourney绘画+Prompt应用+支持国内AI提问模型

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧&…