swift(vapor)开发后台-Mac开发完项目后部署到服务器

之前服务器已经搭建好环境,可以顺利运行vapor了,但是总不能在服务器上做开发,所以要在本地开发好项目后部署到服务器上运行。
手头常用的开发机是MacBook pro,所以在MacBook上开发后台程序。Mac上已经安装了Xcode,所以swift就不用再安装了,现在只需在Mac上安装vapor就可以了,这一步直接查看vapor官网的文档,按着文档来就好了,比较简单,在终端输入几条命令就搞定了。其实不用Mac也可以用pc安装Linux来开发,安装环境参考上一篇服务器环境的安装,只是开发工具有点麻烦,这个还没试过,不知道咋样。
这里我碰到一个问题,在Mac上建立工程,然后可以在Mac上顺利编译运行,但是把项目放到服务器上就编译不了,总是提示错误,后来就在服务器上建立工程后下载到本地后再开发,大家可以多试试,不知道是什么原因。
这里还要注意一点是,在Xcode上开发,项目在本地是可以编译和运行含oc代码的工程的,但是在服务器上是不能编译oc的代码的,所以在实际项目中只能用swift开发。

    把开发好的项目上传到服务器,然后在服务器上编译和运行,用浏览器就可以访问了。接下来在服务器上安装Apache,通过Apache的端口转发来访问vapor项目。
  • 安装Apache
    在服务器上运行安装Apache的命令:
sudo apt-get update
sudo apt-get install apache2

安装完成后,在浏览器中输入服务器IP地址,就可以看到Apache欢迎页面了。

  • 配置Apache
    进入/etc/apache2/sites-enabled/
    用vim打开000-default.conf配置文件,并编辑成以下内容。
# example.com Configuration
 <VirtualHost *:80>
    DocumentRoot /home/vapor/Hello/Public/   #项目中的Public文件夹路径
     ServerName hello.com 
        
         ProxyPreserveHost On 
    ProxyPass / http://127.0.0.1:8080/ 
    ProxyPassReverse / http://127.0.0.1:8080/
     ProxyTimeout 3
</VirtualHost>

然后重启Apache:

sudo service apache2 restart

但是重启失败报错:Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.
输入

systemctl status apache2.service

查看日志,发现是Invalid command ‘ProxyPreserveHost’ ……
输入以下命令:

sudo a2enmod proxy_http
sudo a2enmod proxy
sudo service apache2 restart

服务器成功启动!

接着在浏览器中输入服务器IP地址,但是如果还是访问失败,提示没权限,可以设置项目文件夹及子目录的权限:

sudo chmod -R 777 /项目路径

接着后台启动vapor:(vapor run &) 括号也要输入的,这是Linux后台启动的方法之一,接着用浏览器输入服务器IP地址,不需要输入端口号,就可以访问网站了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,665评论 19 139
  • 如果你想用swift 语言构建后台服务端,那么恭喜你,目前流行的swift server 有两款,一款是基于swi...
    小菜99阅读 7,566评论 30 77
  • 叫安娜的聊天机器人突然不说话了。 老雷输入任何指令,她都没有回应。 一直在线,只是沉默而已。 是不是太无聊了啊,跟...
    苏花阅读 358评论 0 0
  • 春节期间餐桌上的鸡、鸭、鱼、肉 都乖乖的进了你的胃 瓜子、坚果根本停不下来! 麻将一线不停歇,决战到天亮 掐指一算...
    唐兵tb阅读 908评论 0 0
  • 有太多的事情,不是你做不到,不是时间不够,而是你不愿去做。 有个朋友,自从上了大学后便开始颓废,不思进取,以前定下...
    凌心ing阅读 360评论 0 2

友情链接更多精彩内容