三台CentOS服务器,每台服务器承担不同的角色。服务器A作为Nginx的宿主和MySQL主库,服务器B承载Java开发环境和MySQL从库,而服务器C专门用于运行Redis。
如何在这三台服务器上部署和配置所需服务步骤:
服务器A:Nginx和MySQL主库
-
安装Nginx:
- 使用
yum
包管理器安装Nginx:sudo yum install nginx
- 启动Nginx服务:
sudo systemctl start nginx
- 设置Nginx开机自启:
sudo systemctl enable nginx
- 使用
-
安装MySQL并配置主库:
- 安装MySQL:
sudo yum install mysql-server
- 启动MySQL服务:
sudo systemctl start mysqld
- 设置MySQL开机自启:
sudo systemctl enable mysqld
- 安全配置MySQL:
sudo mysql_secure_installation
- 配置MySQL主库:
- 编辑MySQL配置文件
/etc/my.cnf
,添加主库特有的配置,如server-id=1
,开启二进制日志等。 - 重启MySQL服务以应用配置更改。
- 创建复制用户并授权。
- 编辑MySQL配置文件
- 安装MySQL:
服务器B:JDK、Git、Maven、Jar和MySQL从库
-
安装JDK:
- 安装OpenJDK:
sudo yum install java-11-openjdk
- 安装OpenJDK:
-
安装Git:
- 安装Git:
sudo yum install git
- 安装Git:
-
安装Maven:
- 下载Maven:从Apache Maven官网下载最新版。
- 解压并配置环境变量。
-
配置MySQL从库:
- 安装MySQL:
sudo yum install mysql-server
- 配置MySQL从库:
- 编辑MySQL配置文件
/etc/my.cnf
,添加从库特有的配置,如server-id=2
。 - 启动MySQL服务并配置从库复制。
- 编辑MySQL配置文件
- 安装MySQL:
-
部署应用:
- 使用Git克隆代码库。
- 使用Maven构建项目:
mvn clean package
。 - 运行Jar包:
java -jar yourapp.jar
。
服务器C:Redis
- 安装Redis:
- 下载Redis:从Redis官网下载最新稳定版。
- 解压并编译安装Redis:
make && sudo make install
- 运行Redis服务:
redis-server
配置网络和安全
- 确保服务器间的网络通信畅通,特别是MySQL主从复制和应用服务器访问数据库的端口。
- 配置防火墙规则,只允许必要的端口开放给外部或内部网络。
- 对于MySQL复制,确保复制数据通过加密通道传输。
- 对于Redis,配置密码保护并限制访问。
总结
在这个部署方案中,服务器A承担了Web服务器和数据库主库的角色,服务器B作为应用服务器和数据库从库,而服务器C专注于提供高性能的缓存服务。这种分布式部署方式可以有效地利用资源,提高应用的可用性和性能。同时,通过合理配置网络和安全措施,可以确保系统的稳定运行和数据安全。