程序环境
Websoft9 程序语言环境(Web Runtime)提供一个可靠的程序语言和应用服务器环境,以方便用户自行部署应用程序。它支持多种主流的开发语言,如 Java、Python、Node.js、PHP、Go、Ruby和 .NET 等。同时,它基于 Git 的工作流、DevOps 流程,支持域名绑定和 HTTPS 设置,加速应用部署流程,提供极佳的体验。
配置参数
在使用 Web Runtime 部署应用之前,需了解一下的基本配置参数:
通用参数
-
部署方式:docker compose
-
容器端口:8080
-
Dockerfile:暂不支持
-
容器中手工运行命令(√)
-
自定义命令:存储在编排文件 ./src/cmd.sh,挂载到容器的 /usr/local/bin/cmd.sh 目录
-
字符集 :UTF-8
-
多版本:每个语言都支持多版本,合计有几十个可选的版本
-
应用根目录:进入容器后的默认的位置即应用根目录,可运行
pwd
查询- PHP:/var/www/html
- Jetty: /var/lib/jetty/webapps
- Tomee:/usr/local/tomee
- Tomee:/usr/local/tomcat
- 其他环境:/usr/src/app
个性配置
Web Runtime 不同的语言环境拥有更多个性的配置:程序根目录、包管理器、安装扩展、编译、命令行、容器操作系统等。
📄️ Java
配置选项
📄️ .NET
配置选项
📄️ Go
配置选项
📄️ Node.js
配置选项
📄️ PHP
配置选项
📄️ Python
配置选项
📄️ Ruby
配置选项
快速入门
Web Runtime 在 Websoft9 的技术体系中,也是作为一个应用对待,它与 WordPress 这种应用没有本质差异。
如果已经安装 Websoft9,且绑定了全局域名,那么通过 Web Runtime 运行程序及其简单:
启动环境
-
登录 Websoft9 控制台,打开:"应用商店" 的 运行环境 类目
-
任选一个环境应用,点击安装
-
等待安装完成,一个基于容器的程序运行环境已经启用
-
环境启动后,Websoft9 为它创建了三个资源:
- 1 个环境容器
- 1 个网关中的虚拟主机配置,将容器的 8080 端口转发到域名
- 1 个 Git 仓库
准备源码
Web Runtime 不建议通过 FTP 或 SFTP 上传代码的方式,而是需要用户准备一个可以下载的源码,这样做的好处:
- 消除了服务器上的文件操作,避免文件权限问题,更安全
- 便于实现部署自动化
如果待部署的应用程序没有直接的下载地址,可以通过如下方式建一个下载通道:
-
通过 Websoft9 控制台的 仓库 菜单,新建一个公开仓库
-
将源码的压缩包上传到这个新建的仓库中
-
在仓库的呈现页面获取源码的公开下载地址
部署程序
部署应用程序,只需在环境容器中 通过命令 完成一下操作:
- 上传代码:建议将程序代码以压缩包方式下载、解压到容器中的应用根目录
- 编译构建:运行程序所需的编译或构建命令
- 启动程序:运行程序的启动命令(确保运行在容器的 8080 端口,并允许外网访问)
Websoft9 为用户提供了两种运行命令的方式,就对应了两种部署模式:
自动部署
自动部署将相关的部署应用程序的命令写成一个脚本,让容器在启动时自动执行这个命令,从而实现持续部署:
-
登录 Websoft9 控制台,进入应用的管理界面的 编排 标签页
-
修改编排文件的 src/cmd.sh 脚本(它包含范例),插入个性化命令或去掉范例的注释,重建应用后生效
手工部署
手工部署是用户登录到容器中,手工运行相关命令的部署方式:
-
Websoft9 控制台或 docker exec 进入容器的命令模式
-
在容器中运行上传代码、编译构建等准备工作,具体范例参考:
-
以后台方式启动应用程序:nohup Your Command > output.log 2>&1 &
- Your Command 用实际命令替换,例如:
nohup python manage.py runserver 0.0.0.0:8080 > output.log 2>&1 &
- nohup 表示以后台运行,> output.log 2>&1 & 是指定日志路径
- 程序在后台运行后,可以通过
cat output.log
查看日志
- Your Command 用实际命令替换,例如:
-
如果容器重启,需重新执行第 3 步命令
版本变更
Web Runtime 中修改版本极其方便:
-
通过编排文件的 variables.json 查询所有的版本
-
修改编排文件中 .env 中的 W9_VERSION 的值,重建应用生效。