1. 程式人生 > 其它 >穀粒商城分散式基礎(二)—— 環境搭建

穀粒商城分散式基礎(二)—— 環境搭建

三、環境搭建

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

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

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伺服器