Nanobox

最后更新于:2022-04-02 05:13:29

[TOC] # 概况 [Nanobox](https://nanobox.io) 是一个用于开发和部署应用程序的便携式微型平台。在本地工作时,Nanobox使用Docker来启动和配置根据您的特定需求配置的虚拟开发环境。当您准备部署到实时服务器时,Nanobox将采用相同的环境并将其转移到您选择的云提供商上,然后您可以通过Nanobox仪表板管理和扩展您的应用。 在这篇文章中,我们将逐步介绍并在本地运行一个全新的Phalcon应用程序,除了Nanobox之外没有安装任何东西。首先[创建一个免费的Nanobox帐户](https://dashboard.nanobox.io/users/register),然后[下载并运行Nanobox安装程序](https://dashboard.nanobox.io/download)。 ## 创建一个新项目 创建一个项目文件夹并 `cd` 进入其中: ```bash mkdir nanobox-phalcon && cd nanobox-phalcon ``` ## 添加`boxfile.yml` Nanobox使用[`boxfile.yml`](https://docs.nanobox.io/boxfile/) 来构建和配置应用程序的运行时和环境。在项目的根目录中,使用以下命令创建一个`boxfile.yml`: ```yaml run.config: engine: php engine.config: runtime: php-7.1 document_root: public extensions: - phalcon extra_steps: - echo "alias phalcon=\'phalcon.php\'" >> /data/var/home/gonano/.bashrc ``` 这告诉Nanobox: - 使用PHP[引擎](https://docs.nanobox.io/engines/),这是一组构建应用程序运行时的脚本 - 使用 PHP 7.1 - Apache文档根目录设置为`public` - 包括Phalcon扩展。Nanobox采用了简单的扩展方法,因此您可能需要包含其他扩展。更多信息可以在[这里](https://guides.nanobox.io/php/phalcon/php-extensions/)找到 - 为Phalcon Devtools添加一个bash别名,这样你就可以使用`phalcon`命令了 ## 将Phalcon Devtools添加到您的`composer.json` 在项目的根目录中创建`composer.json`文件,并将`phalcon/devtools` 包添加到您的开发需求中 ```json { "require-dev": { "phalcon/devtools": "~3.0.3" } } ``` >[warning] **注意** Phalcon Devtools的版本取决于您使用的PHP版本。 ## 启动Nanobox并生成新的Phalcon应用程序 从项目的根目录运行以下命令以启动Nanobox并生成新的Phalcon应用程序。当Nanobox启动时,PHP引擎将自动安装并启用Phalcon扩展,运行将安装Phalcon Devtools的`composer install`,然后将您放入虚拟环境内的交互式控制台。您的工作目录将挂载到VM中的`/app`目录中,以便在进行更改时,它们将反映在VM和本地工作目录中。 ```bash # 启动nanobox并放入nanobox控制台 nanobox run # cd into the /tmp directory cd /tmp # 生成一个新的phalcon应用程序 phalcon project myapp # change back to the /app dir cd - # 将生成的应用程序复制到项目中 cp -a /tmp/myapp/* . # 退出控制台 exit ``` ## 本地运行应用程序 在实际运行新的Phalcon应用程序之前,我们建议使用Nanobox添加DNS别名。这将在指向您的开发环境的本地`hosts`文件中添加一个条目,并提供从浏览器访问您的应用程序的便捷方式。 ```bash nanobox dns add local phalcon.dev ``` Nanobox提供了一个`php-server`帮助程序脚本,可以启动Apache(或Nginx,具体取决于你的`boxfile.yml`配置)和PHP。当使用`nanobox run`命令传递时,它将启动本地开发环境并立即运行您的应用程序。 ```bash nanobox run php-server ``` 运行后,您可以访问[phalcon.dev](http://phalcon.dev)上的应用程序。 ## 检查环境 您的虚拟环境包含运行Phalcon应用程序所需的一切。随意逛逛。 ```bash # drop into a Nanobox console nanobox run # check the php version php -v # 检查phalcon devtools是否可用 phalcon info # check that your local codebase is mounted ls # exit the console exit ``` ## Phalcon 和 Nanobox Nanobox为您提供在隔离的虚拟环境中开发和运行Phalcon应用程序所需的一切。使用项目中的`boxfile.yml`,只需运`行nanobox run`,就可以在几分钟内启动并运行。 Nanobox有一个[Phalcon快速入门](https://github.com/nanobox-quickstarts/nanobox-phalcon),其中包括本文所涵盖的所有内容。他们还有一个[Nanobox Phalcon使用指南](https://guides.nanobox.io/php/phalcon/)。在以后的文章中,我们想介绍使用Phalcon和Nanobox的其他方面,包括添加和连接数据库,将Phalcon部署到生产中等等。如果您有兴趣,请在[Twitter](http://twitter.com/nanobox_io)上告诉我们。
';