1. 下载demo
cd vapor
# 将在当前目录下创建一个hello工程
vapor new hello -n
# 切换到hello目录
cd hello
# 将下载关联库,并编译,需要较长时间
vapor run
# 经较长时间下载,编译运行,终端显示如下
Server starting on http://127.0.0.1:8080
2.同步云端
# 将hello目录上传到云端已创建的swift目录下
scp -r xxx/vapor/hello ubuntu@xxx.xxx.x.xxx:~/swift/hello
# ssh链接云端,输入密码
ssh ubuntu@xxx.xxx.x.xxx
# 切换到工作目录
cd swift/hello
# 运行目录
vapor run
# 终端迅速编译后,显示如下
Server starting on http://127.0.0.1:8080
3.开放公网ip
由于127.0.0.1为本机地址,通过云主机的公网ip,不能访问到此地址。所以,我们需要将httpserver的hostname设置为0.0.0.0。
# 修改配置文件 hello/Sources/App/configure.swift代码如下
import Vapor
// configures your application
public func configure(_ app: Application) throws {
// uncomment to serve files from /Public folder
// app.middleware.use(FileMiddleware(publicDirectory: app.directory.publicDirectory))
// register routes
app.http.server.configuration.hostname = "0.0.0.0"
try routes(app)
}
# 更新文件到云端后,关停云端重新运行
vapor run
# 编译运行后,显示如下
Server starting on http://0.0.0.0:8080
4.测试公网
打开浏览器或postman,输入http://xxx.xxx.xxx.xxx:8080,可见内容如下:
It works!
继续在浏览器或postman中,输入http://xxx.xxx.xxx.xxx:8080/hello,可见内容如下:
Hello, world!