Linux服务器部署
Linux系统与服务构建运维
前言
本次学习基于 VMware 虚拟机,操作系统为 CentOS 7.2,镜像为清华开源软件镜像站的 CentOS-7-x86_64-DVD-1511.iso,远程连接工具为 FinalShell。
在 VMware 虚拟网络编辑器中,将 VMnet8 的子网 IP 设置为 172.16.51.0,子网掩码为 255.255.255.0,网关为 172.16.51.2,DHCP 范围为 172.16.51.128—172.16.51.254。虚拟机网络适配器选择“自定义 VMnet8(NAT 模式)”,以保证 IP 配置正常。
说明:以下命令默认以 root 用户执行;Shell 命令均放在
bash代码块中,配置文件内容使用对应格式代码块展示。
一、基础环境与依赖服务部署
1. 查看 IP 并连接 FinalShell
ip a |
输出中 eno16777736 为网卡名称,up 表示网卡处于开启状态。
2. 修改主机名
hostnamectl set-hostname mall |
修改 /etc/hosts 配置文件:
vi /etc/hosts |
加入或确认以下内容:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 |
3. 配置本地 YUM 源
将提供的 packages 包上传到 /root 目录,并配置本地 local.repo 文件。
vi /etc/yum.repos.d/local.repo |
文件内容如下:
[mall] |
4. 关闭防火墙
本服务项目属于典型的微服务项目,内部存在大量通信需求。firewalld 默认会拒绝所有入站请求,仅放行极少数必要端口。若不关闭防火墙,可能导致网站页面无法访问。
注意:生产环境不可随意关闭防火墙,应按需放行端口。
systemctl stop firewalld |
5. 安装基础服务
1)安装 Java 环境
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel |
若正确输出版本号,说明安装成功。
2)安装 Redis 缓存服务
yum install redis -y |
3)安装 Elasticsearch 服务
yum install elasticsearch -y |
4)安装 Nginx 服务
yum install nginx -y |
5)安装 MariaDB 数据库
yum install mariadb mariadb-server -y |
6)安装 ZooKeeper 服务
将提供的 zookeeper-3.4.14.tar.gz 上传至云主机 /opt 目录,并解压。
cd /opt |
进入 zookeeper-3.4.14/conf 目录,将 zoo_sample.cfg 重命名为 zoo.cfg:
cd /opt/zookeeper-3.4.14/conf |
进入 zookeeper-3.4.14/bin 目录,启动 ZooKeeper 服务:
cd /opt/zookeeper-3.4.14/bin |
查看 ZooKeeper 状态:
./zkServer.sh status |
7)安装 Kafka 服务
将提供的 kafka_2.11-1.1.1.tgz 上传到云主机 /opt 目录,并解压:
cd /opt |
进入 kafka_2.11-1.1.1/bin 目录,启动 Kafka 服务:
cd /opt/kafka_2.11-1.1.1/bin |
6. 启动服务
1)启动数据库并配置
修改数据库配置文件并启动 MariaDB,设置 root 用户密码为 123456,创建 gpmall 数据库,并导入 gpmall.sql。
修改 /etc/my.cnf:
vi /etc/my.cnf |
添加以下字段:
[mysqld] |
启动数据库:
systemctl start mariadb |
设置 root 用户密码为 123456 并登录:
mysqladmin -uroot password 123456 |
登录成功后,提示符会变为 MariaDB [(none)]>。执行以下 SQL 设置 root 权限:
grant all privileges on *.* to root@localhost identified by '123456' with grant option; |
将 gpmall.sql 文件上传至云主机 /root 目录,创建数据库 gpmall 并导入:
create database gpmall; |
退出数据库:
exit; |
设置 MariaDB 开机自启:
systemctl enable mariadb |
2)启动 Redis 服务
修改 Redis 配置文件:
vi /etc/redis.conf |
将 bind 127.0.0.1 这一行注释掉,并将 protected-mode yes 改为 protected-mode no:
# bind 127.0.0.1 |
启动 Redis 并设置开机自启:
systemctl start redis |
3)配置并启动 Elasticsearch 服务
编辑 Elasticsearch 配置文件:
vi /etc/elasticsearch/elasticsearch.yml |
在文件最上方加入以下内容:
http.cors.enabled: true |
取消以下 4 条配置的注释,并将 network.host 修改为本机 IP:
cluster.name: my-application |
启动 Elasticsearch 并设置开机自启:
systemctl start elasticsearch |
4)启动 Nginx 服务
systemctl start nginx |
二、应用部署与访问
1. 全局变量配置
修改 /etc/hosts 文件:
vi /etc/hosts |
加入以下内容:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 |
2. 部署前端
将 dist 目录上传至服务器 /root 目录,然后把 dist 目录下的文件复制到 Nginx 默认项目路径。复制前先清空默认项目路径下的文件:
cd /root |
修改 Nginx 配置文件 /etc/nginx/conf.d/default.conf,添加映射:
vi /etc/nginx/conf.d/default.conf |
配置内容如下:
server { |
重启 Nginx 服务:
systemctl restart nginx |
3. 部署后端
将提供的 4 个 jar 包上传到服务器 /root 目录,并依次启动:
cd /root |
4. 网站访问
打开浏览器,在地址栏输入:
http://172.16.51.131 |
即可访问部署好的网站。
注意事项总结
- 虚拟机内存不要使用默认的 1G,容易出现内存不足。Elasticsearch 在 1GB 内存的机器上通常无法启动。
- 上传安装包后,最好将联网 YUM 源移走,否则可能继续走联网源安装,导致安装失败。
network.host必须是当前真实 IP。若使用 DHCP,重启后 IP 可能变化,Elasticsearch 会绑定失败。建议配置静态 IP,或在每次重启后同步修改。firewalld默认只放行 SSH,因此需要禁用防火墙;生产环境中应改为按需放行端口,而不是直接关闭。
评论