MySQL、Nignx和Docker在Linux上的安装详解

1.Mysql安装

cpp 复制代码
准备工作:卸载Linux系统中自带的mysql/mariadb数据库,否则MySQL将安装失败

rpm -qa | grep mariadb

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

下载并上传mysql安装包
mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz

解压安装包到当前目录,并将解压后的文件夹移动到 /usr/local 目录下,改名为 mysql

tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz

配置环境变量(编辑/etc/profile,追加内容)

export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH

立即MySQL为系统服务

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

chkconfig --add mysql
cpp 复制代码
初始化数据库
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

初始化完毕后,日志中输出mysql的root用户的临时密码,记得复制保存下来。

启动服务
systemctl start mysql

mysql -uroot -pxxxxx

配置MySQL的root用户的密码,授权远程访问

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';
CREATE USER 'root'@'%' IDENTIFIED BY '1234';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;

2.Nignx安装

cpp 复制代码
安装nginx运行时需要的依赖:yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel

上传nginx的源码包
nginx-1.20.2.tar.gz

解压源码包到当前目录:tar -zxvf nginx-1.20.2.tar.gz

进入到解压目录(cd nginx-1.20.2)后,执行命令:./configure --prefix=/usr/local/nginx

执行编译nginx的指令:make

执行安装nginx的指令,安装到上指定的 /usr/local/nginx 目录:make install

进入nginx安装目录/usr/local/nginx,启动nginx服务:sbin/nginx

3.防火强操作

cpp 复制代码
防火墙操作:
· 查看防火墙状态(systemctl status firewalld, firewall-cmd --state)
· 关闭防火墙(systemctl stop firewalld)
· 开启防火墙(systemctl start firewalld)
· 永久关闭防火墙(systemctl disable firewalld)

· 开放指定端口(firewall-cmd --zone=public --add-port=8080/tcp --permanent)
· 关闭指定端口(firewall-cmd --zone=public --remove-port=8080/tcp --permanent)
· 立即生效(firewall-cmd --reload)
· 查看开放的端口(firewall-cmd --zone=public --list-ports)

注意:
· 1, systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
· 2, firewall-cmd是Linux中专门用于控制防火墙的命令
· 3, 为方便远程登录,建议不要禁用防火墙

4.Docker安装

cpp 复制代码
1.卸载旧版
首先如果系统中已经存在的Docker,则先卸载.

  yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine \
    docker-selinux

2.配置Docker的yum库
首先安装一个yum工具

  sudo yum install -y yum-utils device-mapper-persistent-data lvm2

安装完成后,执行命令,配置Docker的yum源(已更新为阿里云):

  sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

更新yum,建立缓存

  sudo yum makecache fast

3.安装Docker
最后,执行命令,安装Docker

 yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4. 启动和校验
启动Docker

  # 启动Docker
  systemctl start docker
  # 停止Docker
  systemctl stop docker
  # 重启
  systemctl restart docker
  # 设置开机自启
  systemctl enable docker
  # 运行后自启
  systemctl enable docker
  # 执行docker ps命令,如果不报错,说明安装成功
  docker ps
5. 配置镜像加速
镜像地址可能会变更,如果失效可以百度最新的docker镜像。

  # 创建目录
  rm -f /etc/docker/daemon.json
  # 写入内容
  tee /etc/docker/daemon.json <<-'EOF'
  {
    "registry-mirrors": [
      "https://hub-mirror.c.163.com",
      "https://mirror.tuna.tsinghua.edu.cn",
      "https://mirrors.sohu.com",
      "https://ustc-edu-cn-mirror.aliyuncs.com",
      "https://docker.m.daocloud.io",
      "https://docker.nju.edu.cn",
      "https://docker-1255275522.cn",

    "https://docker.m.daocloud.io",
    "https://noohub.ru",
    "https://huecker.io",
    "https://dockerhub.timeweb.cloud",
    "https://docker.rainbond.cc"
   }
  EOF

 # 重启加载配置
 systemctl daemon-reload

 # 重启Docker
 systemctl restart docker
相关推荐
实战派K8S&DB1 小时前
TDSQL 核心模块与进程体系
运维·数据库·分布式·sql·mysql
FfHUCisI1 小时前
Go 性能分析工具 pprof:CPU、Heap 与 Goroutine 实战
数据库·golang
仍然.1 小时前
Redis---分布式锁
数据库·redis·分布式
ly76891 小时前
MongoDB 副本集选举风暴排查:从心跳超时到 Journal 刷盘阻塞
数据库·mongodb·php·mongodb 副本集·选举风暴·journal 刷盘·writeconcern
Lost_the_wind1 小时前
MySQL 学习笔记三
笔记·学习·mysql
刘天远1 小时前
Agent成本核算实现:事件表、状态分布与Python归集
前端·数据库·人工智能·python
Allocator1 小时前
彻底解决ubuntu上腾讯会议无法共享问题
linux·ubuntu·腾讯会议
hey you~1 小时前
通话记录与工单关联数据库设计:ER图、中间表、索引优化与分库分表(2026版)
数据库·分库分表·客服系统·数据一致性·后端开发·通话记录·跨系统查询
程序员-Benothing1 小时前
Linux编码转换命令:iconv、dos2unix、base64、md5sum
linux·运维·服务器
重生之小比特1 小时前
【Linux系统】06 进程概念
linux