实操 企业应用部署案例-单节点
-
企业应用(网上商城)架构
-
准备
(1) 节点规划
IP 主机名 规格 角色 192.168.159.10 mall c2/r4/d20 (2) 所需资源
资源名 说明 gpmall.tar.gz 包含本次实验所需的安装包、待部署的系统 -
实施步骤
(1)基础环境安装
- 修改主机名为mall
- 配置hosts静态路由文件
- 关闭防火墙和SELinux
- 配置YUM源(YUM源的安装包在实验资源gpmall.tar.gz中的gpmall.tar压缩包中)
# 解压gpmall-repo.tar.gz到/opt/
# 增加一个repo文件
vi /etc/yum.repos.d/gpmall.repo
[gpmall]
name=gpmall
baseurl=file:///opt/gpmall-repo/
gpgcheck=0
enabled=1
# 更新yum
(2)安装基础服务
- 安装jdk
[root@mall ~]# yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
[root@mall ~]# vi /etc/profile
# 在文件末尾添加如下内容
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$PATH:$JAVA_HOME/bin
# 使环境变量生效
# 验证
[root@mall ~]# java -version
- 安装MariaDB数据库
[root@mall ~]# yum install mariadb-server -y
- 安装redis
[root@mall ~]# yum install redis -y
- 安装Nginx服务
[root@mall ~]# yum install nginx -y
- 安装ZooKeeper服务
解压安装,单机模式无需修改配置文件
# 解压zookeeper软件到/usr/local/下
# 进入到zookeeper解压目录
# 通过复制conf目录下的zoo_sample.cfg,并重命名为zoo.cfg
[root@mall zookeeper-3.4.14]# cd bin/
[root@mall bin]# ./zkServer.sh start
- 安装Kafka服务
解压安装,单机模式无需修改配置文件
# 解压kafka_2.11-1.1.1.tgz软件到/usr/local/下
# 进入到kafka解压目录下的bin目录
[root@mall bin]# ./kafka-server-start.sh -daemon ../config/server.properties
- 检查
所有基础服务安装后建议使用netstat看下服务是否都启动成功
(3)启动服务
- 启动并配置数据库
启动MariaDB数据库进行初始化,设置root用户密码为123456,并创建gpmall数据库,将提供的gpmall.sql导入。
启动数据库
[root@mall ~]# systemctl start mariadb
对数据库进行初始化,设置root用户的密码为123456
[root@mall ~]# mysql_secure_installation
依次输入:回车/y/123456/123456/y/n/y/y
数据库初始化完成后,登录数据库并设置root用户权限
# 登录到数据库
MariaDB [(none)]> grant all privileges on *.* to root@localhost identified by '123456';
MariaDB [(none)]> grant all privileges on *.* to root@'%' identified by '123456';
创建gpmall数据库并导入gpmall.sql脚本
# 创建名为 gpmall 的数据库
# 进入gpmall数据库
MariaDB [mall]> source /绝对/路径/gpmall.sql
退出数据库
MariaDB [(none)]> exit
设置数据库自动启动
[root@mall ~]# systemctl enable mariadb
- 配置并启动redis服务
修改redis配置文件
[root@mall ~]# vi /etc/redis.conf
# 修改如下内容
# bind 127.0.0.1 // 找到并注释掉
protected-mode no // 找到该行,将yes改为no
daemonize yes // 找到该行,将no改为yes
启动Redis服务
[root@mall ~]# systemctl start redis && systemctl enable redis
(4)部署应用商城系统
- 配置系统网络
修改静态路由文件/etc/hosts,按系统配置中的服务名进行配置,确保系统通过每个服务名查找时都能路由到本台主机。
[root@mall ~]# vi /etc/hosts
# 添加如下内容
192.168.159.10 mall
192.168.159.10 mysql.mall
192.168.159.10 kafka.mall
192.168.159.10 redis.mall
192.168.159.10 zookeeper.mall
- 部署前端
将项目编译打包好的前端文件dist,复制到nginx网站项目默认路径
先删除nginx网站项目默认路径内文件,再复制dist内容
# 删除/usr/share/nginx/html/下的所有文件
# 解压dist.tar到/usr/share/nginx/html/下
修改配置文件
[root@mall ~]# rm -vf /etc/nginx/conf.d/default.conf
[root@mall ~]# vi /etc/nginx/conf.d/gpmall.conf
# 添加如下配置
server {
listen 80;
server_name _;
location / {
root /usr/share/nginx/html/;
index index.html;
}
location /user {
proxy_pass http://127.0.0.1:8082;
}
location /shopping {
proxy_pass http://127.0.0.1:8081;
}
}
启动服务
[root@mall ~]# systemctl restart nginx && systemctl enable nginx
- 部署后端
该商城系统采用java开发,只需执行提供的4个jar包即可
[root@mall ~]# nohup java -jar user-provider-0.0.1-SNAPSHOT.jar &
[root@mall ~]# nohup java -jar shopping-provider-0.0.1-SNAPSHOT.jar &
[root@mall ~]# nohup java -jar gpmall-shopping-0.0.1-SNAPSHOT.jar &
[root@mall ~]# nohup java -jar gpmall-user-0.0.1-SNAPSHOT.jar &
注意检查jar是否均正常启动
[root@mall ~]# jps
正常应该看到四个jar进程
[root@mall ~]# jobs
正常应该看到四个jar执行都是’Running’状态
(5)网站访问
在浏览器中输入’http://192.168.159.10’,能正常访问网站,并能登录,表示应用部署正常。