这样就可以自己前端写点简单的服务器框架啦。
如果看官方详细文档,可以参考docs.vapor.codes,或者中文版vapor3.swiftmic.com,而后面的步骤是我操作部署成功的记录。
以下教程视为你已经在本地使用xcode开发了相关功能测试没问题,现在是上传部署到服务器
1、安装swift和Vapor
1.1、在服务器执行下面命令增加APT Repo
wget -q https://repo.vapor.codes/apt/keyring.gpg -O- | sudo apt-key add - echo "deb https://repo.vapor.codes/apt $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/vapor.list
然后运行
sudo apt-get update
1.2、执行安装Vapor
sudo apt-get install swift vapor
1.3、安装成功验证
安装成功之后,可以执行下面的命令看是否安装成功
swift --version
2、服务器新建项目
2.1、创建服务器项目
vapor new <name>
记得把<name>修改成你的项目目录名字,比如MyProject
2.2、把本地创建的的项目文件上传覆盖
把本地项目的Package.swift、Sources文件夹和Public文件夹的内容上传到服务器项目进行覆盖,如果在本地项目中使用的数据库地址,用户名密码和服务器不一样,记得都修改成服务器的
2.3、服务器编译项目
上传好之后,运行下面命令进行编译,第一次编译会比较耗时
vapor build
2.3、运行项目
编译好之后,运行下面命令运行即可
vapor run
3、服务器配置
因为vapor用的是8080的端口,所以记得去阿里云的的实例中,修改服务器对应的安全组,把8080这个端口放行
如果你是用的宝塔管理面板,记得去宝塔的安全》防火墙里面也添加8080端口为放行端口。
这时候你可以测试下网址带8080端口是否可以访问,例如http://hudongdong.com:8080/test,如果可以用就成功了。如果不可以用或者不想带端口请求,可以参考下面把80端口的请求转发到Vapor监听的端口,这样请求就可以不用带8080端口,而是直接请求http://hudongdong.comtest
3.1、通过Nginx方向代理Vapor监听的端口
这个可以参考Ubuntu下Vapor监听80端口,如果你是用的宝塔之类的管理面板,可以在网站的伪静态配置规则中添加
location / { proxy_pass http://localhost:8080; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; }
如果你没有安装面板,可以修改/etc/nginx/nginx.conf文件,把把http段最后的include /etc/nginx/sites-enabled/*;注释掉,修改为#include /etc/nginx/sites-enabled/*;,然后增加
server { listen 80; server_name localhost; location / { proxy_pass http://localhost:8080; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; } }
这样就完成了整个部署功能,如果本地修改开发了功能,可以继续上传覆盖,然后重新执行以下编译、发布即可
本文来源于:vapor部署到阿里云服务器-变化吧
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。
- 赞助本站
- 微信扫一扫
- 加入Q群
- QQ扫一扫
评论