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
相关推荐
野犬寒鸦3 小时前
从零起步学习Redis || 第十章:主从复制的实现流程与常见问题处理方案深层解析
java·服务器·数据库·redis·后端·缓存
luopandeng3 小时前
amd npt技术 对比 intel ept 技术
java·linux·网络
---学无止境---4 小时前
Linux中kmalloc内存分配函数的实现
linux
极限实验室4 小时前
Elasticsearch 备份:snapshot 镜像使用篇
数据库·elasticsearch
海底列车4 小时前
ubuntu-20.04.6升级OpenSSH_10.2p1
linux·服务器·ubuntu
武子康4 小时前
Java-145 深入浅出 MongoDB 基本操作详解:数据库查看、切换、创建集合与删除完整教程
java·数据库·sql·mysql·mongodb·性能优化·系统架构
陳錄生4 小时前
ubuntu 24.10安装MongoDB
linux·mongodb·ubuntu
做运维的阿瑞5 小时前
从传统Linux部署到容器化:实践对比与工程化指南
linux·运维·服务器
NiKo_W5 小时前
Linux 进程通信——基于建造者模式的信号量
linux·设计模式·建造者模式·system v