美文网首页
swift(vapor)开发后台-Mac开发完项目后部署到服务器

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

作者: gulu210 | 来源:发表于2017-12-21 09:53 被阅读0次

    之前服务器已经搭建好环境,可以顺利运行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地址,不需要输入端口号,就可以访问网站了。

    相关文章

      网友评论

          本文标题:swift(vapor)开发后台-Mac开发完项目后部署到服务器

          本文链接:https://www.haomeiwen.com/subject/lhpowxtx.html