准备阿里云ECS服务器
领服务器网上有很多教程(此处不作赘述)
唯一要注意的是选哪种服务器,有centos、ubantu、Windows Server等,根据熟悉程度选就行。
我这里选的是centos。
其他的不再赘述。
领取完服务器后就能看到了:
主要是要记住公网IP。实例名称可以改一下,这个只是方便自己看。
准备开放端口
云服务器不像本地localhost,在后面拼个端口号就能访问到相应应用,需要手动开启。
开启入口在控制台->网络与安全->安全组->创建安全组
在入方向->手动添加,选择想要开放的端口号就可以。建议提前想好要开放的端口。
比如数据库3306 、redis6379、nginx80、苍穹外卖项目端口(假设为8080)。
注意,后面nginx、mysql、redis和项目都使用docker部署,所以这里的端口指的是服务器本机开放的端口(不知如何表达)
就是说,举个例子,在创建 nginx docker的时候,指定了端口“-p 8089:80”,那么为了正常访问nginx应该开放的是8089;同理,如果你想要创建MySQL docker时指定“-p 6380:6379”,那应该开放的就是6380.
开放完端口后,记得把实例加进安全组:
点进安全组->实例列表->实例加入安全组
准备前端文件
是否需要做这一步取决于你是否要把苍穹外卖改成其它什么XXX外卖。
如果要改成自己的项目名称、logo的话,找到前端代码,查找替换名字、整几张相同规格图片替换即可。
后面的步骤参考这一篇:
苍穹外卖部署到云服务器使用Docker学习笔记-CSDN博客
我根据自己需要做些改变和补充
准备后端文件
把苍穹外卖的yml文件中数据库和redis的host改成上面记住的公网ip,注意,数据库密码和redis密码提前想好并记住。
然后跟上面提到的文章打包即可
使用docker部署nginx、redis、mysql
还是参考上面提到的文章。
nginx
部署好nginx后,在浏览器访问 [ 公网IP+nginx docker端口 ] 应该就能看到前端了,不过第一次加载会很慢。
redis
部署好redis后,可以通过命令行运行redis验证
docker exec -it myredis redis-cli
或者直接通过其他redis管理工具(比如Another Redis Desktop Manager)测试连接
mysql
同样,部署完后可以通过
docker exec -it mysql bash
进入命令行,然后正常登录mysql测试一下就行
同样可以使用数据库管理工具测试连接
部署后端代码
注意,参考文章里的DockerFile jdk版本是11,这个要根据自己苍穹外卖所使用的java版本来写,我的是17,所以就改成17。
这里就是上面提到的端口注意事项,安全组里开放的后端端口就是这里的8081,项目里yml文件的端口就是8080。记得对应上,
如果这里创建docker映射的是8082:8080,安全组开放的是8081,或者
创建docker映射的是8081:8080,结果自己苍穹外卖的yml文件端口写的是8088
这样当然是运行不了的。
补充:修改nginx.conf文件中的转发规则时,可以直接修改这里:
就不用在下面手动一个一个改了。
注意!后面的端口是你苍穹外卖docker开放的端口。不是nginx的端口。
其他
WebSocket失灵的问题上面提到的文章也有修改方法,这里不重复了。