自己写的商业项目:服务器的坑

代码的基本功能有了,也添加了Swagger,想着部署一份到线上,好让前端直接连到线上去调试,晃晃悠悠的折腾好久,线上的阿里云已经开始可以访问了,Mysql,Redis都一切正常,就是在国外访问的比较慢,反正也是本地开发,现在也只能让前端将就着先连本地电脑的接口

也接了两家支付,开始慢慢的有点进展了,接支付也有很多坑,哈哈哈哈哈,还是去年的时候,才正个八经的接过第三方的支付,那个是在公司的还有的代码上,考考代码,也没有太关系数据库结构怎么样,不过我自己设计支付的数据库的时候,还是有点尴尬的,无从下手

服务器

Vultr里买了两天新加坡服务器

说Vultr哪里好

  • 就是简洁到,任何一处功能都是可以用上的,没有多余的按钮,连接,
  • 可以用支付宝支付,也可以直接绑定Visa卡
  • 1G 1核心的服务器,一个月只要5美,对比亚马逊,阿里云的香港节点,华为的国外节点都更便宜,在东南亚连接国内的阿里云,命令行都是一个字母一个字母显示出来的
  • SSH连接速度很快,Maven下载jar包,或是Docker下载镜像,或是Jenkins下载插件速度都更快
  • 不需要备案,HTTPS也不需要跟阿里那样,需要服务器运行慢三个月

说Vultr不好

  • 提个工单,感觉那客服比我还不懂,看了系统的ssh登录日志,每时每刻都有不同的IP尝试访问,暴力破解中
  • 阿里云现在报警系统感觉还是非常牛逼的,像SSH暴力破解都是发邮件提示,Vultr不行
  • 买的一台服务器用Docker跑的Mysql,经常莫名其妙的密码不对,或者是那种勒索了数据库,要求我发多少比特币到那邮箱..阿里云的服务器就不会出现这个问题,已经出现过很多次这样的情况,就算设置的Mysql的访问IP,也没有作用

实在忍受不了了,还是换回阿里云的服务器,2G 2核心一年760左右,感觉好贵呀,心疼…..,虽然命令行非常慢,主要是也没有太多操作,安装Docker,Mysql,Redis,Jenkins和jar包的启动脚本

Mysql

阿里,亚马逊的数据库都贵,给一般企业用还差不多,本来也就开发的时候,和前端联调的时候回用上数据库,买包时的,又嫌麻烦,在Vultr上用docker跑的数据库,明明数据库密码是有很高复杂度的,但总是能被人访问,而且限制了IP访问,还是不起作用,我都怀疑,Vultr这家公司的服务器是不是有后门

还有个时区的问题,Mybatis插入数据库的当前时间,和获取那条记录的插入时间对不上,差8个小时,虽然大概知道是个怎么回事,但是绕了些弯路,整体解决下来就是:

  1. 判断插入时间是不是正确的
  2. 修改服务器时间
  3. 修改docker容器的时间
  4. 修改SpringBoot的时间

Nginx

只是使用了一个简单的功能,域名转发,开始使用的Vultr的服务器,在阿里云域名解析,一下子就能成功,之后换成阿里云服务器之后,就一直解析不成功,用IP:PORT访问又是正常的,后来才发现服务器必须得满使用3个月,才可以用域名转发…慢慢等吧

在Vultr服务器上,因为域名是可以转发的,所以可以在Nginx那里配置SSL证书,免费申请的那种,各种百度一顿操作都是正常,可就是访问报错,一步一步找才发现,用docker跑Nginx的时候,并没有开启443端口……..我TM无语了,貌似Docker就这点不好,如果第一次运行容器的时候,把数据卷映射到服务器本地还好,如果没有映射,那凉凉还得重新来过,没想明白,那么强大的功能,为什么不给个,修改正在运行容器的启动命令(这里不考虑docker commit)

换到阿里云服务器,也就是域名不能转发成功,所以证书也自然而然配不上了