安装
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/
网友评论