Day17_ECS_Project
server清单
| 功能 | 性能 | IP |
|---|---|---|
| proxy | 4*8G | 112.124.42.190 |
| nginx1 | 4*8G | 118.178.146.167 |
| nginx2 | 2*2G | 120.55.245.167 |
| java1 | 2*2G | 47.118.28.30 |
| java2 | 2*2G | 120.55.248.42 |
| redis1 | 2*2G | 112.124.100.223 |
| redis2 | 2*2G | 47.110.94.89 |
| redis3 | 2*2G | 120.55.246.134 |
| mysql1 | 2*2G | 121.41.105.171 |
| mysql2 | 2*2G | 47.110.93.56 |
| mysql3 | 2*2G | 47.118.22.189 |
搭建流程
之前有搭过,之前的是访问nginx然后通过nginx进行动静分离的流量转接
现在是通过反向代理,来访问,除了proxy是公网访问,剩下的都是私网互相访问
前置基础
将所有ecs的3306,6379,48080端口全部开放
msyql的MGR集群
本来应该使用之前写好的剧本直接部署,但是不知道为啥在本地还好好的
但是放在ecs上就报错了,然后搞得搞了半天,手动都搞不了,最后迫不得已初始化ecs,手动部署mgr
mysql是通过shell脚本安装的
远程用户也需要创建,后面的java要访问
redis部署与哨兵模式
这个就更简单了,直接用提前写好的ansible剧本一键安装
java后端
- git源码到本地,然后将application-local.yml文件里面的mysql和redis的ip、账号和密码配置
- 下载jdk和maven并配置环境变量
- 编译源码
nginx前端
- git前端源码
- 进入项目根目录用npm install安装依赖
- 修改三个配置文件,env配置中路径写/prod-api
- 然后构建安装,创建一个目录/var/www/,将构建好的dist-prod目录拷贝到这个目录
- 让nginx配置文件中root指向这个目录
proxy反向代理
- 这台是做流量分离
- 下载了nginx后配置两个upstream,实现动态分离,静态的指向nginx(私网),动态指向java(私网)
- 请求头也需要配置






