vapor部署到阿里云服务器

幸运草
幸运草
幸运草
896
文章
3
评论
2020年4月5日19:36:57vapor部署到阿里云服务器已关闭评论 218
vapor是一个开源的swift开发的服务器框架,由于swift语言现在在服务器框架中只在Ubuntu中,并没有在centerOS中提供,所以如果需要把vapor部署到阿里云服务器,创建实例的时候记得选择系统版本为Ubuntu。

这样就可以自己前端写点简单的服务器框架啦。

如果看官方详细文档,可以参考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日内与变化吧联系。

转载请注明:{{title}}-变化吧
  • 赞助本站
  • 微信扫一扫
  • weinxin
  • 赞助本站
  • 支付宝扫一扫
  • weinxin
幸运草
怎么做一个赚钱的小说网站 建站

怎么做一个赚钱的小说网站

从2007年做站,刚好十年了。时间过得真快。因为自己是兼职做站,所以一直断断续续,也没有什么大的成绩。做过地方论坛,电影站,股票站,文章站,小说站等,能尝试的都尝试了。学了很多东西,也浪费了不少时间,...
下篇 | 172个搜索引擎术语,你都知道吗? 建站

下篇 | 172个搜索引擎术语,你都知道吗?

上篇中已经介绍了名词介绍、展现样式、工作原理、网站建设四个小部分,下篇将继续介绍页面优化、链接建设、数据分析和其他等部分。请戳链接《上篇 | 172个搜索引擎术语,你都知道吗?》 5 页面优化 网页导...
网站优化100个法则,排名稳居第一的秘籍(1~100汇总篇) 建站

网站优化100个法则,排名稳居第一的秘籍(1~100汇总篇)

我们这次来个猛地!总结网站优化的100个法则,这些经验和盘托出,希望能够帮助到朋友们!这些规则就像是交通指示灯一样,按照这些规则走的,排名就好,不按照这些走的,排名可想而知。 1、域名年龄老的网站排名...
网站SEO中要避免哪些蜘蛛陷阱呢? 建站

网站SEO中要避免哪些蜘蛛陷阱呢?

我们从事网站优化的过程中,尤其是现在收入对于网站而言是非常重要的网站,只有有了比较不错的收录之后,才有可能会取得不错的排名,因此在网站设计的时候,我们就要尽可能的让蜘蛛能够获取到网站的全部内容信息,如...