Ubuntu安装Vapor服务器

2018-02-07  本文已影响122人  遥遥领先M

Vapor开发指南(中文版)

安装

Ubuntu上安装Vapor只需要花费几分钟时间。

快速开始

使用如下脚本可以方便地添加Vapor的APT repo。

 eval "$(curl -sL https://apt.vapor.sh)"

提示:该命令需要curl,可以通过sudo apt-get install curl来安装。

安装Vapor

目前已经添加了Vapor的APT repo,你可以安装必要的依赖了。

sudo apt-get install swift vapor

验证安装

通过如下命令来检查是否安装成功。

swift --version

将会看到类似如下的输出:

Apple Swift version 4.0.2 (swiftlang-900.0.69.2 clang-900.0.38)
Target: x86_64-apple-macosx10.9

Vapor Toolbox

vapor --help

你将会看到一长串可用命令集。

完成

Vapor安装好后,就可以创建第一个应用了

新项目

第一步是创建Vapor新项目。这里我们将该项目命名为Hello。
打开终端,使用vapor new命令。

vapor new Hello

一旦完成,进入到新创建的目录里。

cd Hello

然后执行 vapor build 命令编译vapor应用程序

vapor build

第一次构建应用程序时,程序将获取一些依赖关系,它会缓存这些依赖关系并在之后构建的过程中不再获取,以便构建过程更快。

构建过程完成后,使用以下命令运行应用程序

vapor run serve
#nohup 后台挂起 &自动运行。
nohup vapor run serve & 
任意键退出 ,输入exit退出终端

恭喜你你拥有了自己的server!

服务器将启动,输出显示:

Running demo ...
...
Starting server on 0.0.0.0:8080

在浏览器中访问http://your_server_ip:8080,查看您正在运行的Vapor应用程序的欢迎页面。

使用Supervisor进行管理

上面那些可以进行运行,但是服务器要求很稳定。如果这个进程被干掉了服务器就挂了。这样非常不好、所以这里需要守护进程。这里使用Supervisor进行管理、当我们的vapor进程被干掉之后可以重新启动。

安装:

sudo apt-get update
sudo apt-get install supervisor

配置:

创建文件 /etc/supervisor/conf.d/hello.conf

[program:hello]
command=/home/vapor/hello/.build/release/Run serve --env=production
directory=/home/vapor/hello/
user=www-data
stdout_logfile=/var/log/supervisor/%(program_name)-stdout.log
stderr_logfile=/var/log/supervisor/%(program_name)-stderr.log

基础命令:

supervisorctl reread
supervisorctl add hello
supervisorctl start hello

这里需要注意的是Linux文件的管理权限的问题。
如果我们没有给用户分配权限、程序就不能读取文件、在我们使用命令的时候表现出来就是。

supervisor: child process was not spawned

我们的config文件里我们配置的用户是 user=www-data用户所以我们分配读权限。

sudo chown -R :www-data /home/vapor/myvapor

当然这里你直接配置你当前的用户也是可以的。
还有可能错误是

Hello :ERROR(spawn error)

这里我们需要先停止supervisor

sudo supervisorctl stop all
sudo supervisorctl reread
sudo supervisorctl reload
sudo superviorctl restart all

如果还不行、这里看有没有程序占用配置的vapor端口。比如8080端口终止掉这个程序再运行。

查看端口占用和杀死进程

查看进程占用

lsof -i tcp:8080 

该命令会显示占用8080端口的进程,有其 pid ,可以通过pid关掉该进程
杀死进程

 kill -9 xxx

Linux基础命令

$ sudo adduser git //创建用户
$ su git //切换用户
$ cd //进入用户主目录
$ mkdir .ssh && chmod 700 .ssh //创建文件夹、配置权限
$ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys // 创建文件夹、配置权限
$ ls -a //查看文件
$ userdel -r git //删除用户帐号及相关档案
groups 查看当前登录用户的组内成员
groups www 查看www用户所在的组,以及组内成员
groupdel www 删除用户组
sudo usermod -a -G sudo www //添加www用户到sudo用户组
su - www //切换到www用户
第一次可能有提示
To run a command as administrator (user "root"), use "sudo ". See "man sudo_root" for details.
这个在我们运行sudo命令之后就会消失。
压缩文件 zip -r Test.zip Test
复制文件 scp root@127.0.0.0:/home/vapor Test/

上一篇 下一篇

猜你喜欢

热点阅读