在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
上节我们介绍了如何在本地运行一个Perfect与mysql交互的简单服务端接口程序,下面就是将这个程序部署到ECS上的方法。 1.在服务器上安装mysql Ubuntu上安装MySQL非常简单只需要几条命令就可以完成。 1. sudo apt-get install mysql-server 2. apt-get isntall mysql-client 3. sudo apt-get install libmysqlclient-dev 安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功: sudo netstat -tap | grep mysql 通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。 登陆mysql数据库可以通过如下命令: mysql -u root -p -u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql 现在我们安装好了服务器上的mysql了,现在回到本地Mac上
选中WebService数据库并点击Data Export来导出数据库
选中要导出的表结构导出到文件.sql;我导出的文件命名为WebService.sql,通过FTP将这个数据库文件上传到服务器。 2.在服务器上找到这个文件,并进入mysql命令中, mysql -u root -p mysql>create database WebService; mysql>use WebService; mysql>source /home/WebService.sql ;// 这个是文件的路径 这样我们就将本地设计的数据库同步到了服务器上; 下面我们将本地的代码git上传上去,并在服务端git pull下来; 再次swift build 漫长的等待,由于Mac端与Linux端的框架会有不同,所以若想在Linux上运行Perfect需要重新编译下载依赖库。 成功后.build/debug/WebService 启动服务
这样我们的服务就在阿里云服务器上跑起来了 http://{ 这个是公网IP}/v1/api/register?userName=test&password=123456 当报错时,我们需要检查mysql连接配置,因为服务端的与本地的可能有差别,要按服务器上的配置进行代码上的修改。 这里可能会出现服务无法启动的情况,主要原因可能是服务已经开启,80端口已经被占用,这个时候我们要用 lsof -i:80 命令来检查下端口是否有进程占用,若有 则用命令 kill -9 <PID> 来杀死进程,再重新运行进程就好。 最后说一下最后一个坑,当我们退出本地远程连接后发现接口调用不通了,服务被自动杀死了,这里本地远程连接在关闭时会自动将服务器运行的进程全部杀死,所以我们需要用一个后台持续进程来守护进程,让我们退出远程连接时,不关闭服务;用 nohup .build/debug/WebService & 命令执行下就可以了; 至此我们所有的swift Perfect + mysql的环境及运行部署就全部完成了,若你有更好的方法欢迎相互学习与讨论。 |
请发表评论