Linux系统与服务构建运维
应用系统基础服务安装
1.规划节点
安装基础服务的服务器规划,见表
节点规划
IP地址 | 主机名 | 节点 |
192.168.100.77 | mall | 单节点服务器 |
2.基础准备
使用VMWare Workstation软件安装CentOS 7.2操作系统,镜像使用提供的CentOS-7-x86_64-DVD-1511.iso,最小化安装CentOS 7.2系统,YUM源使用提供的本地gpmall-repo包,安装基础环境。
案例实施
1.关闭防火墙和seLinux服务
Setenforce 0 Systemctl stop firewalld Systemctl disable firewalld |
2.修改主机名
Hostnamectl set-hostname mall Bash |
3.修改/etc/hosts配置文件
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.100.77 mall |
4.配置本地yum源
将提供的packages包上传到服务器的/root目录下,并配置本地local.repo文件,具体代码如下所示。(若使用的是vmware安装的centos7.2系统,自带的CentOS.repo文件不要移除。若使用的是openstack中的centos7.2qcow2镜像需要将自带的CentOS.repo文件移除。)
cat /etc/yum.repos.d/local.repo [mall] name=mall baseurl=file:///root gpgcheck=0 enabled=1 |
5.安装基础服务
安装基础服务,包括Java JDK环境、数据库、Redis、Nginx等,安装基础服务的命令具体如下
(1)安装java环境
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel java -version |
(2)安装redis缓存服务
Yum -y install redis |
(3)安装elasticsearch服务
Yum -y install elasticsearch |
(4)安装nginx服务
Yum -y install nginx |
(5)安装mariadb数据库
Yum -y install mariadb mariadb-server |
(6)安装zookeeper服务
将提供的zookeeper-3.4.14.tar.gz上传至云主机的/opt内,解压压缩包命令如下:
Tar -zxvf /opt/zookeeper-3.4.14.tar.gz |
进入到zookeeper-3.4.14/conf目录下,将zoo_sample.cfg文件重命名为zoo.cfg命令如下:
cd zookeeper-3.4.14/conf mv zoo_sample.cfg zoo.cfg |
进入到zookeeper-3.4.14/bin目录下,启动ZooKeeper服务,命令如下:
cd /root/zookeeper-3.4.14/bin ./zkServer.sh start |
查看ZooKeeper状态,命令如下:
./zkServer.sh status |
(7)安装kafka服务
将提供的kafka_2.11-1.1.1.tgz包上传到云主机的/opt目录下,解压该压缩包,命令如下:
Tar -zxvf /opt/kafka_2.11-1.1.1.tgz |
进入到kafka_2.11-1.1.1/bin目录下,启动Kafka服务,命令如下:
Cd kafka_2.11-1.1.1/bin ./kafka-server-start.sh -daemon ../config/server.properties |
使用jps或者netstat –ntpl命令查看Kafka是否成功启动,命令如下:
Jps Netstat -ntpl |
运行结果查看到Kafka服务和9092端口,说明Kafka服务已启动。
6.启动服务
(1)启动数据库并配置
修改数据库配置文件并启动MariaDB数据库,设置root用户密码为123456,并创建gpmall数据库,将提供的gpmall.sql导入。
修改/etc/my.cnf文件,添加字段如下所示:
# #This group is read both both by the client and the server #use it for options that affect everything # [client-server] # #include all files from the config directory # !includedir /etc/my.cnf.d [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-handshak |
启动数据库
Systemctl start mariadb |
设置root用户的密码为123456并登入
Mysqladmin -uroot password 123456 Mysql -uroot -p123456 |
设置root用户的权限
Grant all privileges on *.* to 'root'@'localhost' identified by '123456' with grant option; Grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; |
将gpmall.sql文件上传至云主机的/root目录下。创建数据库gpmall并导入gpmall.sql文件。
MariaDB [(none)]>create database gpmall; Use gpmall Source /root/gpmall.sql |
退出数据库并设置开机自启
Quit Systemctl enable mariadb |
(2)启动redis服务
修改Redis配置文件,编辑/etc/redis.conf文件。
将bind 127.0.0.1这一行注释掉;将protected-mode yes 改为 protected-mode no。
启动Redis服务命令如下。
Systemctl start redis Systemctl enable redis |
(3)配置elasticsearch服务并启动
配置Elasticsearch服务命令如下:
vi /etc/elasticsearch/elasticsearch.yml |
在文件最上面加入三条语句如下:
http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-credentials: true |
将如下4条语句前的注释符去掉,并修改network.host的IP为本机IP。
cluster.name: my-application node.name: node-1 network.host: 172.16.51.29 http.port: 9200 |
最后修改完之后保存退出。然后启动Elasticsearch并设置开机自启,命令如下。
Systemctl start elasticsearch Systemctl enable elasticsearch |
(4)启动nginx服务
启动nginx服务命令如下:
Systemctl start nginx Syatemctl enable nginx |
应用系统部署
使用提供gpmall-shopping-0.0.1-SNAPSHOT.jar、gpmall-user-0.0.1-SNAPSHOT.jar、shopping-provider-0.0.1-SNAPSHOT.jar、user-provider-0.0.1-SNAPSHOT.jar 、dist这5个包部署应用系统,其中4个jar包为后端服务包,dist为前端包。(在项目3-软件包\商城系统-单节点\gpmall项目包-单机下)
案例实施
1.全局变量配置
修改/etc/hosts文件,修改项目全局配置文件如下(将原有的192.168.100.77 mall删除):
[root@mall ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.100.77 mall 192.168.100.77 kafak.mall 127.0.0.1 mysql.mall 192.168.100.77 redis.mall 192.168.100.77 zookeeper.mall |
2.部署前端
将dist目录上传至服务器的/root目录下。接着将dist目录下的文件,复制到Nginx默认项目路径(首先清空默认项目路径下的文件)。
Rm -rf /usr/share/nginx/html/* Cp -rvf dist/* /usr/share/nginx/html/ |
修改Nginx配置文件/etc/nginx/conf.d/default.conf,添加映射如下所示
server { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } location /user { proxy_pass http://127.0.0.1:8082; } location /shopping { proxy_pass http://127.0.0.1:8081; } location /cashier { proxy_pass http://127.0.0.1:8083; } #error_page 404 /404.html; } |
重启nginx服务
Systemctl restart nginx |
到此前端部署完毕
3.部署后端
将提供的4个jar包上传到服务器的/root目录下,并启动,启动命令如下:
nohup java -jar shopping-provider-0.0.1-SNAPSHOT.jar & nohup java -jar user-provider-0.0.1-SNAPSHOT.jar & nohup java -jar gpmall-shopping-0.0.1-SNAPSHOT.jar & nohup java -jar gpmall-user-0.0.1-SNAPSHOT.jar & |
按照顺序运行4个jar包后 至此后端服务部署完毕
4.网站访问
打开浏览器,在地址栏中输入http://192.168.100.77,访问界面