Swift Perfect 阿里云ECS服务器详细部署教程(四)

上节我们介绍了如何在本地运行一个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数据库可以通过如下命令:

扫描二维码关注公众号,回复: 355431 查看本文章

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的环境及运行部署就全部完成了,若你有更好的方法欢迎相互学习与讨论。




猜你喜欢

转载自blog.csdn.net/z123sen/article/details/80248667