Linux笔记

Linux笔记

寇大哥的Linux安装

安装

首先获得镜像:CentOS-7-x86_64-DVD-1611.iso

一路确定走下来,然后新建虚拟机,配置网络和图形化界面设置增强功能

获取root权限

su root

我的配置Linux安装,最新成功版本

  1. 下载Vagrant

  2. 下载最新VirtualBox 并修改项目位置, 管理->全局设定->如下图所示
    image-20221221174918151

  3. 在想要在哪启动的位置新建文件夹,在该位置打开cmd

  4. 输入vagrant判断是否安装成功

  5. vagrant init centos7 https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7.box
    

    输入这个命令,从国内镜像源下载centos7,然后文件夹下会出现一个VagrantFile

  6. vagrant up
    

    通过这个命令启动Linux;通过VirtualBox也可以直接启动 要从对应的VagrantFile里使用该命令

  7. vagrant ssh
    

    通过这个命令连接到虚拟机中的服务器中

  8. 网络配置
    vagrant默认使用的是NAT端口转换的方式,意味着我们每新增一个应用都需要做一个端口映射过于麻烦。
    vagrant的网络配置是直接从VagrantFile中读取而来的,因此我们直接修改这个文件即可修改网络配置。

    1. 查看主机的VirtualBox的虚拟网卡的IP地址:

      image-20221222192849408

      修改VagrantFile中的文件,修改后的IP地址要和169.254.59.1在同一网段,这里我们改成169.254.59.10
      image-20221222193011946
      这里的ip是通过在外面的ipconfig,然后获取ip地址

    2. 运行命令

      vagrant reload
      

      重新加载文件并启动

    3. 通过vagrant ssh连接,现在主机和虚拟机已经可以相互ping通。
      主机ip地址也是通过ipconfig查询:
      image-20221222193105324
      虚拟机的ip地址:
      image-20221222193219881

    4. 我的电脑在休眠后,主机执行ipconfig发现VirtualBox的ip变化了,可能得重新执行一次上面更新ip的流程?这也太麻烦了吧

Xshell连接Vagrant创建的虚拟机

通过xshell连接vagrant创建的虚拟机(centos 7) 基本上就是照着这个文章走。

  1. 找到vagrant的密钥
    image-20221222093901388

  2. 在Xshell中设置通过密钥登录的方式
    image-20221222093923034
    image-20221222094009110

  3. 上面的方法可行,也可以通过修改登录的密码来做到

    1. vagrant ssh

    2. su root 输入密码 vagrant

    3. 修改sshd_config使root用户可以使用密码登录

      vi /etc/ssh/sshd_config
      

      修改PasswordAuthentication yes
      在这里插入图片描述

    4. 输入passwd 修改密码
      在这里插入图片描述
      修改为了 root / qweasd123

    5. 直接用用户名和密码通过ssh登录即可

Linux安装Docker

官方在Centos上安装的文档

  1. 切换到root

    su root 
    

    密码默认是vagrant

  2. 卸载旧版本

    sudo yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
    
  3. 安装工具

    sudo yum install -y yum-utils
    
  4. 设置存储库

    sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    
  5. 安装Docker Engine、containerd和Docker Compose的最新版本

    sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    
  6. 启动Docker

    sudo systemctl start docker
    
  7. 设置Docker开机自启

    sudo systemctl enable docker
    
  8. 配置阿里镜像源

    1. 打开阿里云网址并登陆。

    2. 点右上角的控制台,下拉,找到容器镜像服务。
      image-20221221194331873

    3. 点击进入后,点镜像加速器,依次每条执行sudo语句

      sudo mkdir -p /etc/docker
      sudo tee /etc/docker/daemon.json <<-'EOF'
      {
        "registry-mirrors": ["https://nwz1swh4.mirror.aliyuncs.com","https://registry.docker-cn.com","http://hub-mirror.c.163.com"]
      }
      EOF
      sudo systemctl daemon-reload
      sudo systemctl restart docker
      

      image-20221221194512579

Docker下安装MySql

image-20221223094730680

  1. 拉取Docker镜像

    sudo docker pull mysql:5.7
    
  2. 检查下载完成的Docker镜像

    sudo docker images
    
  3. 创建实例并启动

    docker run -p 3306:3306 --name mysql \
    -v /mydata/mysql/log:/var/log/mysql \
    -v /mydata/mysql/data:/var/lib/mysql \
    -v /mydata/mysql/conf:/etc/mysql \
    -e MYSQL_ROOT_PASSWORD=root \
    -d mysql:5.7
    

    image-20221222191422342

    挂载后:
    image-20221223095159240

  4. 进入交互模式

    docker exec -it mysql /bin/bash
    

    查询mysql位置,验证docker实例的mysql是在一个小的Linux里的

    whereis mysql
    

    image-20221223094710526

  5. 创建mysql配置文件

    vi /mydata/mysql/conf/my.cnf
    

    写入配置信息

    [client]default-character-set=utf8
    [mysql]default-character-set=utf8
    [mysqld]init_connect='SET collation_connection = utf8_unicode_ci'init_connect='SET NAMES utf8'character-set-server=utf8collation-server=utf8_unicode_ciskip-character-set-client-handshakeskip-name-resolve
    
  6. 重启mysql容器

    docker restart mysql
    

Docker下安装Redis

  1. 下载镜像(最新)

    docker pull redis
    

    遇到问题

    [root@localhost docker]# docker pull redis
    Using default tag: latest
    Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 10.0.2.3:53: read udp 10.0.2.15:52618->10.0.2.3:53: i/o timeout
    

    后来多添加了两个加速的网址,在公司的网络下pull成功了。

  2. 创建redis配置文件,防止挂载的时候将目录认为是文件名
    先创建目录

    mkdir -p /mydata/redis/conf
    

    创建配置文件

    touch /mydata/redis/conf/redis.conf
    
  3. 配置端口映射、-v挂载配置文件、-d设置守护线程在后台启动。

docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
-v/mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

image-20221226095719603

  1. 直接进去redis客户端

    docker exec -it redis redis-cli
    
  2. 由于redis未配置持久化,执行docker restart redis后,里面的数据会被清空。(老师的5.x版本的是酱紫的,但是我的最新版本能获得。。。)

    不过还是在conf目录下修改下redis.conf

    [root@localhost conf]# vi redis.conf
    

    修改内容为

    appendonly yes
    
  3. 安装可视化工具并连接虚拟机的redis
    Redis Desktop Manager(Redis可视化工具)安装及使用教程 有个网盘来下载。

常用命令

Linux命令

  1. 查看我是哪个用户

    whoami
    
  2. sudo代表以超级管理员的身份运行后面的命令。

  3. 查看本地IP

    ip addr
    ifconfig
    
  4. 连接测试环境

    ssh ubuntu@101.43.196.12
    
  5. 运行项目命令

    image-20221223103003143

    这里运行的时候会自动拉取最新的git上的代码,所以直接提交git,然后跑一下这个命令即可

  6. 打包项目的命令,在上传git之前,要确定能够打包成功,且本地要运行成功不报错。
    image-20221223183935889

  7. 这个项目自己就能从git上拉取最新的代码,然后执行,因此我们只需要提交到git,然后执行

    ssh ubuntu@101.43.196.12
    sh build-main.sh
    tail -f /data/apps/log/character_ai/main/info.log -n200
    tail -f /data/apps/log/character_ai/main/error.log -n200 
    

    查看OpenApi

    sh topia/build-apis.sh
    tail -f /data/apps/log/character_ai/apis/info.log
    

    测试数据库

    sh sh mysql.sh
    show databases;use character_ai_dev; show tables;
    select * from character_user_role_like order by create_time desc limit 10;
    select table_name,column_name,column_type,column_key from information_schema.COLUMNS where table_name = 'character_role_info' and table_schema= 'character_ai_dev';
    

Docker命令

  1. 查看版本

    docker -v
    
  2. 查看已有镜像

    docker images
    
  3. 查看镜像启动的容器的端口号映射等信息

    docker ps
    
  4. 移除已有的实例

    docker rm + container ID 
    
  5. 当镜像有,容器已经被创建过,但是ps没有,说明服务关了,可以重启一下这个容器。

    docker restart mysql
    
  6. 自动启动

    docker update mysql --restart=always
    
    docker update redis --restart=always
    

Vagrant命令

  1. 启动Linux;通过VirtualBox也可以直接启动

    vagrant up
    
  2. 连接到虚拟机中的服务器中

    vagrant ssh
    

    此命令必须在vagrantfile目录下执行
    image-20221221195509463

posted @ 2022-06-07 14:02  杀戒之声  阅读(26)  评论(0编辑  收藏  举报