zoukankan      html  css  js  c++  java
  • 谷粒商城分布式基础(二)—— 环境搭建(基础篇)(虚拟机 & JDK & Maven & docker & mysql & redis & vue)

    1、安装 Linux 虚拟机

    1、下载&安装 VirtualBox 
    https://www.virtualbox.org/wiki/Downloads
    要开启 CPU 虚拟化
    安装过程傻瓜式下一步即可,建议修改安装目录,不要装在C盘

    2、下载&安装 Vagrant 
    https://www.vagrantup.com/downloads.html
    建议修改安装目录位置
    注意:VirtualBox会与包括但不限于如下软件冲突,需要卸载这些软件,然后重启电脑;
    冲突的软件:红蜘蛛、360、净网大师(有可能)等
    3、打开 window cmd 窗口,运行 vagrant init centos/7,即可初始化一个 centos7 系统
    
     初始化后,在当前用户文件夹下会有一个 Vagrantfile 文件
    4、运行 vagrant up 即可启动虚拟机。系统 root 用户的密码是 vagrant
    
      注意:这一步操作很慢,有时候甚至网络连接失败。如果这一步失败的话,建议按照第5步操作 
    5、解决 vagrant up 下载慢问题
      (1)直接网页下载:     https://cloud.centos.org/centos/7/vagrant/x86_64/images/CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box     这里的2004_01可以修改成自己想要的版本   (2)加载下载的镜像     cd到下载好的文件目录,命令:     vagrant box add centos/7 CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box   (3)重新加载镜像     vagrant up   打开Virtual Box发现虚拟机已经启动

    6、vagrant其他命令行
      (1)vagrant ssh:自动使用 vagrant 用户连接虚拟机。
    
      (2) vagrant upload source [destination] [name|id]:上传文件
      (3)https://www.vagrantup.com/docs/cli/init.html Vagrant 命令行
    7、网络配置
        Virtual Box 默认使用网络地址转换(NAT)和端口转发的方式,ip地址不固定、每个端口都得配置端口转发规则,用起来不方便
      (1)查看ip地址信息
        ipconfig

      (2)编辑 Vagrantfile 文件35行,使其在同一网段

      (3)重启虚拟机

        vagrant reload

      (4)测试

        ping 192.168.56.10

    8、设置使用密码登录
      使用 vagrant 生成的虚拟机,当你使用 xshell 之类的工具连接时,是不需要密码的,为了安全起见,我们可以将其设置使用密码连接。
      vagrant ssh登录默认生成是账号vagrant,密码vagrant。
      要安装docker,要root账号,所以这里创建root账号,并设置使用密码登录,
     (1)切换root用户
      vagrant ssh 登录后,默认用户是 vagrant,执行以下命令切换到root用户
     (2)修改配置文件
        vi /etc/ssh/sshd_config
     (3)找到PasswordAuthentication ,去掉前面的#号,开启yes
        PermitRootLogin yes
     (4)修改完成后,wq保存退出
        :wq
     (5)重启ssh服务
        service sshd restart
     (6)以后可以使用提供的 ssh 连接工具直接连接
    9、root账号登录并修改密码
     (1)首先需要先登录上,使用 vagrant ssh
     (2)修改root的密码
        sudo passwd root

      (3)查看ssh config 配置文件

        cat /etc/ssh/sshd_config

     (4)放开配置,并修改如下:
       vi /etc/ssh/sshd_config

      (5) 重启ssh服务

        service sshd restart

       (6)使用xshell连接

    10、设置yum源
    (1)备份原yum源
        mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    (2)设置为163的yum源,也可以配置其他源
        curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
     (3)生成缓存
        yum makecache
    11、安装vim命令
        yum install vim


      测试
      vim /etc/profile
    12、Vagrant常见命令总结
      (1)添加box
        vagrant box add centos/7 D:\Java\package\CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box
      (2)查看有哪些box
        vagrant box list
      (3)删除box
        vagrant box remove名称 --box-version 0
      (4)初始化box
        vagrant init Centos7
      (5)启动虚拟机
        vagrant up
      (6)重新启动虚拟机
        vagrant reload
      (7)连接虚拟机
        vagrant ssh
      (8)关闭虚拟机
        vagrant halt
      (9)关闭防火墙
        sudo systemctl stop firewalld
      (10)关闭虚拟机
        sudo reboot
      (11)查看网卡列表
        ls /etc/sysconfig/network-scripts/
      (12)切换到root用户
        su root
      (13)查看当前用户
        whoami
    13、修改 Linux 网络
     (1)修改文件
        vim /etc/sysconfig/network-scripts/ifcfg-eth1

     (2)重启网络
       systemctl restart network
    (3)测试
        ping www.baidu.com

      ok,网络正常 

    14、解决“Could not resolve host: mirrors.neusoft.edu.cn”未知错误
      今天yum的时候遇到了这个问题,弄了半天才弄好,之前明明没有问题,不知道为什么就不行了,下面是截取的错误信息和解决办法。

    http://mirrors.163.com/centos/7/os/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: mirrors.163.com; Unknown
    Trying other mirror.
    https://download.docker.com/linux/centos/7/x86_64/stable/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: download.
    Trying other mirror.
    http://mirrors.163.com/centos/7/extras/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: mirrors.163.com; Unk
    Trying other mirror.
    http://mirrors.163.com/centos/7/updates/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: mirrors.163.com; Un
    Trying other mirror.

    解决办法:

    1、中断yum  

      ctrl+z #中断当前的安装显示
      ps -ef | grep yum #查找当前yum相关的进程
      kill -9 进程号(pid) #杀掉进程

    2、按照上面的 “13、修改 Linux 网络” 修改网络配置

    3、按照上面的 “10、设置yum源” 设置yum源

    4、测试 yum 安装 wget

      yum install wget

      至此,解决完毕

    5、测试 yum 安装 unzip

      yum install unzip

    15、修改虚拟机剩余内存
     (1)关闭虚拟机电源
     (2)右键虚拟机,选择“设置”,调整内存到 3G 左右

     (3)重启虚拟机

     (4)查看可用内存

     

    2、安装jdk1.8

      注意:该操作需要切换到root账户

    1、检查本机有没有jdk有的话卸载掉
      注意:如果你未安装过,可以跳过该步骤
      (1)检查是否安装jdk   rpm -qa | grep -i java
      (2)卸载jdk
        rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
        参数解释:
        rpm -qa:查询所安装的所有rpm软件包
        grep -i:忽略大小写
        xargs -n1:表示每次只传递一个参数
        rpm -e –nodeps:强制卸载软件
      (3)重启虚拟机
        reboot
    2、下载并解压jdk1.8
      (1)下载
      (2)用XShell传输工具将JDK导入到opt目录下面的software文件夹下面
      (3)解压
        tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
        解压完毕后,如下
    3、配置环境变量
        vi /etc/profile
        # 添加一下两行代码
        export JAVA_HOME=/opt/module/jdk1.8.0_212
        export PATH=$PATH:$JAVA_HOME/bin
    4、使配置生效并测试
     (1)使环境变量生效
        source /etc/profile
     (2)测试版本
        java -version
     

    3、安装maven3.6.1

    1、下载并解压maven3.6.1
      (1)下载
        https://download.csdn.net/download/qq_42766492/11145451?utm_source=bbsseo
      (2)用XShell传输工具将JDK导入到opt目录下面的software文件夹下面
      (3)解压     tar -zxvf /opt/software/apache-maven-3.6.1-bin.tar.gz -C /opt/module/     解压完毕后,如下
    2、配置maven仓库
      设置阿里镜像仓库,一定要配置一下,国内的下载jar快些
     (1)进入apache-maven-3.6.1目录,创建仓库存储目录

      (2)配置本地仓库

        进入conf目录,编辑settings.xml文件

        vim settings.xml

        找到localRepository加上下面这一行

        <localRepository>/opt/module/apache-maven-3.6.1/ck</localRepository>

      (3)配置mirror镜像 

         找到mirror加上阿里云仓库配置

         <mirror>
          <id>alimaven</id>
          <name>aliyun maven</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <mirrorOf>central</mirrorOf>
         </mirror>

    3、配置jdk1.8编译项目
      <profile>
        <id>jdk-1.8</id>
        <activation>
          <activeByDefault>true</activeByDefault>
          <jdk>1.8</jdk>
        </activation>
        <properties>
          <maven.compiler.source>1.8</maven.compiler.source>
          <maven.compiler.target>1.8</maven.compiler.target>
          <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
        </properties>
      </profile>
    4、配置maven环境变量
      (1)编辑文件
      vi /etc/profile
      翻到最后一行加上,加上如下代码
      export MAVEN_HOME=/opt/module/apache-maven-3.6.1
      export PATH=$PATH:$MAVEN_HOME/bin
    5、使配置生效并测试
     (1)使环境变量生效
        source /etc/profile
     (2)测试版本
        mvn -v

    4、安装docker

      Docker 安装文档:https://docs.docker.com/install/linux/docker-ce/centos/,或者可以参考我之前的docker笔记
      注意:以下操作步骤中,很多我带了sudo命令,如果是默认的vagrant用户是没有权限的,必须带上sudo以超级管理员身份执行。当然如果已经按照之前的步骤设置了root用户,切换到root下,则可不需要。我这里已经切换到root了,我其实是可以不需要带上sudo的
    1、卸载系统之前的docker
    sudo yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
    2、安装 Docker-CE
     (1)安装必须的依赖     sudo yum install -y yum-utils \       device-mapper-persistent-data \       lvm2  (2) 设置docker repo的yum位置     sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
     (3)安装docker,以及 docker-cli
        sudo yum install docker-ce docker-ce-cli containerd.io
    3、启动docker
      sudo systemctl start docker
    4、设置docker开机自启
    sudo systemctl enable docker
    5、测试 docker 常用命令,注意切换到 root 用户下
      https://docs.docker.com/engine/reference/commandline/docker/
    6、配置docker镜像加速
        阿里云,容器镜像服务 针对 Docker 客户端版本大于 1.10.0 的用户 您可以通过修改 daemon 配置文件/etc/docker/daemon.json 来使用加速器
      (1)创建级联目录
            sudo mkdir -p /etc/docker

       (2)创建docker配置文件

        登录阿里云账号,查看容器镜像服务的镜像中心

       复制粘贴,执行以下命令

        sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://fd2x0yya.mirror.aliyuncs.com"] } EOF

      (3)重新加载使其生效(docker后台线程)

        sudo systemctl daemon-reload

      (4)重启docker服务

        sudo systemctl restart docker

    7、docker常见命令总结
     (1)启动docker
        sudo systemctl start docker
     (2)设置开机自启
        sudo systemctl enable docker
     (3)查看docker镜像
        docker images
     (4)查看docker版本
        docker -v
     (5)重启docker线程
        sudo systemctl daemon-reload
     (6)重启docker服务
        sudo systemctl restart docker
     (7)拉取镜像(下载软件)
        docker pull mysql:5.7
     (8)启动容器
        docker run -p 3306:3306 --name mysql \ ( -p 3306:3306:将容器的3306端口映射到主机的3306端口)
        -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 \     (初始化root用户的密码)
        -d mysql:5.7
     (9)查看docker中正在运行中的容器
        docker ps
     (10)进入docker容器
        docker exec -it mysql /bin/bash
     (11)查看位置
        whereis mysql
     (12)退出容器
        exit
     (13)docker删除镜像
        docker rmi 1319b1eaa0b7(容器id)
     (14)查看所有容器
        docker ps -a
     (15)停止正在运行的docker容器 
        docker stop (容器id)
     (16)删除停止的dockers容器
        docker rm (容器id)
     (17)删除docker镜像
        docker rmi (容器id)

    5、docker安装mysql

      注意:以下操作都已经su切换到root用户了

    1、下载镜像文件
        docker pull mysql:5.7
    2、创建实例并启动
      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
     参数说明
      -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
      -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
      -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
      -v /mydata/mysql/data:/var/lib/mysql/:将数据夹挂载到主机
      -e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
    3、Navicat测试连接
    4、修改mysql配置
     (1)vi /mydata/mysql/conf/my.cnf
     (2)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=utf8 
        collation-server=utf8_unicode_ci 
        skip-character-set-client-handshake 
        skip-name-resolve

        注意:解决 MySQL 连接慢的问题
        在配置文件中加入如下,并重启 mysql
        [mysqld]
        skip-name-resolve
        解释:
        skip-name-resolve:跳过域名解析
      (3)重启mysql容器
        docker restart mysql

      (4)进入容器查看配置文件是否生效

       至此说明mysql配置文件挂载已生效,关于配置文件的更多介绍可以查看我之前的docker笔记

    5、通过容器的mysql命令行工具连接
        docker exec -it mysql mysql -uroot -proot
    6、设置root远程访问
        grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; flush privileges;
    7、进入容器文件系统
      docker exec -it mysql /bin/bash
      mysql -uroot -proot
    8、设置随docker自启动
    docker update mysql --restart=always
    9、设置大小写不敏感
        windows 系统默认大小写不敏感,但是 linux 系统是大小写敏感的
     (1)查看大小写是否敏感
        show variables like '%lower_case_table_names%';

     (2)设置大小写不敏感

      在 my.cnf 这个配置文件 [mysqld] 中加入 lower_case_table_names = 1 ,然后重启mysql

      注意:如果要设置属性为大小写不敏感,要在重启数据库实例之前就需要将原来的数据库和表转换为小写,否则将找不到数据库名。在进行数据库参数设置之前,需要掌握这个参数带来的影响,切不可盲目设置。 

    6、docker安装redis

    1、下载镜像文件
        docker pull redis
    2、创建配置文件
      注意:docker-redis默认没有配置文件,需要自己在宿主机建立后挂载映射 mkdir -p /mydata/redis/conf
      touch /mydata/redis/conf/redis.conf
    3、创建实例并启动
      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

      redis 自描述文件:https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf

    4、使用redis镜像执行redis-cli命令连接
      docker exec -it redis redis-cli
    5、开启aof持久化
     (1)vi /mydata/redis/conf/redis.conf   # 添加如下内容   appendonly yes
     
    (2)重启redis容器
        docker restart redis
    6、设置随docker自启动
        docker update redis --restart=always
    7、安装redis可视化客户端
     (1)下载
        链接:https://pan.baidu.com/s/1a5aXk81phNOjUi7m9oB2ZA
        提取码:nsj6
     (2)安装
        傻瓜式安装,选择安装目录一直下一步即可,安装完成之后桌面显示图标如下:

       (3)连接redis服务器

    7、vue 开发环境搭建

    1、安装nodejs
      前端开发,少不了 node.js;Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 
       http://nodejs.cn/api/
       我们关注与 node.js 的 npm 功能就行;
        NPM 是随同 NodeJS 一起安装的包管理工具,JavaScript-NPM,Java-Maven;
     (1)下载安装
        https://nodejs.org/dist/v10.16.3/node-v10.16.3-x64.msi
        傻瓜式操作即可
        安装目录结果如下:
     (2)查看安装版本
        node -v
    2、设置npm的全局目录信息
      npm是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题。比如常用的有:     
    1)允许用户从NPM服务器下载别人编写的第三方包到本地使用。     2)允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。     3)允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用

    1)、首先按照上面的步骤方法安装node.js,安装完毕之后可以用 npm -v 查看npm的版本

    (2)再查看另外2个目录,npm的本地仓库跑在系统盘c盘的用户目录了(没见到npm-cache是因为没有用过,一使用缓存目录就生成了),我们试图把这2个目录移动回到 D:\Program Files\node

      先如下图建立2个目录 node_cache 和 node_global

      然后运行以下两条命令改变npm的本地仓库,并且使用命令npm list -global查看npm的本地仓库

        npm config set prefix "D:\Program Files\nodejs\node_global"

        npm config set cache "D:\Program Files\nodejs\node_cache"

        npm list -global

    (3)配置镜像站

      输入以下命令 配置淘宝镜像站

        npm config set registry=http://registry.npm.taobao.org

      输入以下命令显示所有配置信息

        npm config list

      我们关注一个配置文件,可以看到刚才的配置信息

      可以使用命令 npm config get registry 检查一下刚才配置的镜像站行不行

      测试能否获取Vue的信息

      npm info vue

      如果直接运行 npm install 等命令会报错

      根据错误提示,是系统没有‘package.json’这个文件导致。这个文件的作用就是管理你本地安装的npm包。

      所以我们要生成一个package.json文件,执行命令:

        npm init -y

      与npm init 相比,直接创建package.json文件,这样创建的好处是必填项已经帮你填好,执行完命令后可以看到用户路径下多了一个package.json文件。

       多出这两个文件

      再次执行 npm install

      操作成功

      注意:

      (1)此时,默认的模块 D:\Program Files\nodejs\node_modules 目录将会改变为 D:\Program Files\nodejs\node_global 目录。

      (2)我们需要做一件事,

    3、安装cnpm
      注意:如果你已经按照以上步骤更改了npm的全局配置目录信息,且已经修改了镜像为淘宝镜像,则没必要再安装cnpm了,可以跳过该步骤 用npm安装依赖环境的时候,实在太慢了,我们通常会选择使用cnpm,但是当我们使用cnpm命令的时候,通常会出现“cnpm
    ' 不是内部或外部命令,也不是可运行的程序”的提示。可以按照以下步骤处理
    1)利用淘宝npm镜像安装相关依赖,命令如下     npm install -g cnpm --registry=https://registry.npm.taobao.org


    (2)查看安装目录
      由于我们在上面设置了 npm 的全局安装目录在 D:\Program Files\nodejs\node_global,所以使用 npm 命令安装的 cnpm 的安装目录应该也在该目录下,
    查看

      果然如此

     (3)在cmd中输入cnpm -v就可以看是否安装成功。

      为什么这里会显示不是可运行程序呢?这是因为我们的程序cnpm安装在了 D:\Program Files\nodejs\node_global 目录下,但是该目录不在环境变量path里面,我们试图在该目录下执行该命令试一下

       果然,在该目录下执行成功,这印证了我们的猜测,那么我们配置该环境变量路径即可

      增加环境变量,内容是: 

          D:\Program Files\nodejs\node_global

      重新打开cmd窗口让上面的环境变量生效,此时在任意目录下再次执行命令 cnpm -v 试一下

      ok,操作成功 

    4、全局安装 vue 脚手架
      npm install vue-cli -g

      安装目录如下:

      输入 vue 命令测试

      注意一个问题:

      我们再安装完vue之后,目录 D:\Program Files\nodejs\node_global 下多出了以下命令,为什么我们可以直接在任意目录下使用 vue 命令呢,这是因为我们在第3步安装cnpm的时候,顺手修改配置了环境变量 path,如果你没有修改,则必须补上去,否则会 显示下图

    5、全局安装 webpack
        npm install webpack -g

       安装目录如下:

    6、安装 vue-devtools 方便调试
      (1)下载 vue-devtools 并解压缩
      (2)打开 chrome 设置 -> 扩展程序
      (3)开启开发者模式,并加载插件
    
      (4)打开浏览器控制台,选择vue
    
      注意:开发使用vue.min.js,上线使用vue.js,默认情况下,vue.js是无法使用 vue-devtools 的
    7、安装 vscode 的 vue 插件
  • 相关阅读:
    通过user-agent判断h5页面是在哪个手机App(QQ、微信、支付宝)下打开的
    vscode格式化插件
    简单直接,“NODE_ENV”总结
    NativeScript又一个Hybrid技术(附与Weex,ReactNative比较)
    ReactNative开发中遇到的问题记录
    两个在线编辑网站runjs和jsbin
    go 如何单测
    go语法-type等
    go语法-结构体和接口-细节
    解决 Webstorm 每次更新 Git 代码都要输入密码的问题
  • 原文地址:https://www.cnblogs.com/javahr/p/15663120.html
Copyright © 2011-2022 走看看