项目部署笔记

198 阅读4分钟

一、VMware虚拟机

Ubuntu报“无法解析域名cn.archive.ubuntu.com”问题的解决办法

打开软件源列表文件:

sudo vim /etc/apt/sources.list

将原有的 cn.archive.ubuntu.com 替换为其他可用的镜像源,如:

# 阿里云镜像
deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
# 清华镜像
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse

FinalShell通过SSH连接

1. 确保 Ubuntu 服务器已经安装 SSH 服务

首先,确保你的 Ubuntu 服务器上安装了 SSH 服务。你可以通过运行以下命令来安装 SSH(如果尚未安装的话):

sudo apt update
sudo apt install openssh-server

2. 配置防火墙(如果使用 UFW)

如果你的 Ubuntu 服务器上安装了 UFW(Uncomplicated Firewall),你需要允许 SSH 流量通过防火墙。执行以下命令:

sudo ufw allow ssh
sudo ufw enable

3. 知道服务器的 IP 地址和端口(可选)

通常,SSH 默认使用端口 22。如果你更改了默认端口,确保你知道正确的端口号。

FinalShell通过root登录

用 ubuntu 系统的 root 账号,并通过 finalshell 工具进行连接。

1、ubuntu 安装 ssh

安装 SHH 服务 sudo apt update

安装 OpenSSH 服务器 sudo apt install openssh-server

2、启用 root 账号

为 root 用户设置一个密码(长度需要8位数)。 sudo passwd root

使用 su 命令切换到 root 用户(测试一下) su - 输入刚才设置的密码,就可以切换到 root 用户了。

3、修改 ssh 配置文件sshd_config

sudo vi /etc/ssh/sshd_config

把文件中的 【#PermitRootLogin prohibit-password】改为 【PermitRootLogin yes】 。

4、重启 ssh 服务(也可选择重启系统)

sudo service ssh restart

VMware设置静态ip

ip addr 查看ip地址
service network restart 重启网络服务

为什么要配置静态IP呢?因为每次重启网络服务IP都会改变,对应的Xshell连接ip也要改变,不利于开发,因此需要配置静态IP。

VMware虚拟机设置\

image.png

Unbuntu 20版本编辑IP配置文件 1、打开网络配置文件 首先查看ifconfig查看网卡 image.png 你需要以超级用户身份编辑网络配置文件。如果你的网络接口名为ens33,你可以使用以下命令:

sudo vim /etc/netplan/01-network-manager-all.yaml

2. 编辑配置文件

在打开的文件中,你会看到一个以network开头的YAML配置块。你需要根据你的网络设置编辑这个块。以下是一个示例配置,它为enp0s3接口设置了一个静态IP地址、子网掩码、网关和DNS服务器:

# # This is the network config written by 'subiquity'
# network:
#   ethernets:
#     ens33:
#       dhcp4: true
#   version: 2

# This is the network config written by 'subiquity'
network:
  ethernets:
    ens33:
      dhcp4: no
      addresses:
        - 192.168.57.130/24
      gateway4: 192.168.57.2
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
  version: 2
  renderer: networkd

主要配置addresses为静态地址,routes为网关。需要和Vmware虚拟机保持一致。

3. 重启网络服务生效

sudo netplan apply
sudo systemctl restart NetworkManager

image.png

CentOS 7版本 编辑IP配置文件 vi /etc/sysconfig/network-scripts/ifcfg-eth33 退出vi编辑 etc->:wq

测试外网和内网连接

二、Docker安装

  1. 安装必要的证书并允许 apt 包管理器使用以下命令通过 HTTPS 使用存储库

    sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

  2. 添加docker 官方GPG秘钥:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

  3. 添加docker官方库

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

  4. 安装docker:

    sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

  5. 启动docker:

    systemctl start docker

十、SpringBoot应用部署

  1. 构建所有Docker镜像并上传 修改项目根目录下的pom.xml中的docker.host属性:
<properties>
    <docker.host>http://192.168.3.101:2375</docker.host>
</properties>

如果项目根目录的pom.mxl中docker-maven-plugin的<executions>节点被注释掉了就打开注释,使项目在打包时直接构建Docker镜像;

直接双击根项目mall的package命令可以一次性打包所有应用的Docker镜像;

REPOSITORY            TAG                 IMAGE ID            CREATED              SIZE
mall/mall-portal      1.0-SNAPSHOT        70e0f76416a0        21 seconds ago       705MB
mall/mall-search      1.0-SNAPSHOT        f3290bd1d0c7        41 seconds ago       725MB
mall/mall-admin       1.0-SNAPSHOT        26557b93a106        About a minute ago   705MB

部署mall-admin

docker run -p 8080:8080 --name mall-admin \
--link mysql:db \
--link redis:redis \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/admin/logs:/var/logs \
-d mall/mall-admin:1.0-SNAPSHOT

注意:如果想使用Logstash收集日志的话,需要将应用容器连接到Logstsh,添加如下配置即可;

--link logstash:logstash \
Copy to clipboardErrorCopied
部署mall-search
docker run -p 8081:8081 --name mall-search \
--link elasticsearch:es \
--link mysql:db \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/search/logs:/var/logs \
-d mall/mall-search:1.0-SNAPSHOT

部署mall-port

docker run -p 8085:8085 --name mall-portal \
--link mysql:db \
--link redis:redis \
--link mongo:mongo \
--link rabbitmq:rabbit \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/portal/logs:/var/logs \
-d mall/mall-portal:1.0-SNAPSHOT

开启防火墙

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --zone=public --add-port=8085/tcp --permanent
firewall-cmd --reload