Function Compute: Function Compute ist ein ereignisgesteuerter Dienst durch Funktionsberechnung, Benutzer Sie müssen keine Server und andere Betriebsbedingungen verwalten, sondern nur Code schreiben und hochladen. Function Compute bereitet Rechenressourcen vor und führt Benutzercode auf elastisch skalierbare Weise aus, und Benutzer zahlen nur auf der Grundlage der Ressourcen, die durch den tatsächlich ausgeführten Code verbraucht werden. Weitere Informationen zu Funktionsberechnungen finden Sie unter .
Fun: Fun ist ein Tool zur Unterstützung der serverlosen Anwendungsbereitstellung, mit dem Sie Ressourcen wie Funktionscomputer, API-Gateways und Protokolldienste einfach verwalten können. Es unterstützt Sie beim Entwickeln, Erstellen und Bereitstellen von Vorgängen über eine Ressourcenkonfigurationsdatei (template.yml). Weitere Dokumentationsreferenzen für Fun.
Hinweis: Die in diesem Artikel vorgestellten Techniken erfordern eine Fun-Version größer oder gleich 3.6.3.
Empfohlenes Tutorial: „thinkphp-Tutorial“
Was ist ThinkPHP?
ThinkPHP ist ein kostenloses, quelloffenes, schnelles und einfaches objektorientiertes, leichtes PHP-Entwicklungsframework, das für die agile WEB-Anwendungsentwicklung und die vereinfachte Entwicklung von Unternehmensanwendungen entwickelt wurde. ThinkPHP hält sich seit seiner Gründung an das einfache und praktische Designprinzip und legt dabei mehr Wert auf Benutzerfreundlichkeit, wobei eine hervorragende Leistung und ein minimaler Code beibehalten werden. Die Veröffentlichung unter der Open-Source-Lizenzvereinbarung von Apache2 bedeutet, dass Sie ThinkPHP kostenlos nutzen können und dass Sie sogar die Anwendungen, die Sie auf Basis von ThinkPHP entwickeln, als Open-Source- oder kommerzielle Produkte veröffentlichen/verkaufen dürfen.
Effektvorschau
Klicken Sie nach der Bereitstellung der beiden Anwendungsbeispiele in diesem Artikel auf den Link, um eine Vorschau des Effekts anzuzeigen:
- Offizielles ThinkPHP-Beispiel: http://13492727-1986114430573743.test.functioncompute.com
- ThinkPHP-Blogbeispiel : http://13500180-1986114430573743.test.functioncompute.com die Anweisungen in Fun's Installationsdokument zur Installation von Fun auf diesem Computer.
- PS: Die in diesem Artikel vorgestellte Methode erfordert keine Installation von Docker, sondern nur Spaß. Der einfachste Weg besteht darin, die ausführbare Binärdatei direkt herunterzuladen.
Initialisieren Sie ein ThinkPHP-Beispiel:
composer create-project topthink/think tpFühren Sie das Beispiel lokal zum Testen aus:
php think runSie können den Effekt lokal sehen:
Die traditionelle Entwicklung Methode besteht darin, dass nach Abschluss der lokalen Entwicklung Bereitstellungsarbeiten durchgeführt werden müssen. Normalerweise benötigen wir möglicherweise die folgenden Schritte, um eine PHP-Anwendung bereitzustellen:
Kaufen Sie eine physische Maschine, z. B. ECSBinden Sie den öffentlichen Server an die physische Maschine . Internet-IP, PHP, Nginx, PHP-FPM installieren Die Umgebungskonfigurationsmethoden sind unterschiedlich und es gibt mehr Fallstricke. Wir zeigen, wie Anwendungen für Function Compute bereitgestellt werden.
fun deploy
Es ist nur ein Befehl erforderlich. Fun startet automatisch den Bereitstellungsprozess, bei dem der Benutzer nur eine Reihe von Eingabetasten drücken muss. Die Prozessdetails lauten wie folgt:
- Fun erkennt, dass es sich hierbei nicht um ein Fun-Projekt handelt und bittet Sie um Unterstützung bei der Erstellung (drücken Sie einfach die Eingabetaste oder geben Sie y ein).
- Das Fun-Projekt wird automatisch erfolgreich erstellt. und es wird gefragt, ob es bereitgestellt werden soll? Sie können direkt die Eingabetaste drücken oder zum Bestätigen y eingeben. Dann stellt Fun die Anwendung direkt online bereit Für uns wurde ein temporärer Domänenname 13492727-1986114430573743.test.functioncompute.com generiert. Über diesen temporären Domänennamen können wir direkt auf die Anwendung zugreifen, die wir gerade bereitgestellt haben.
备注:临时域名仅仅用作演示以及开发,是有时效的,如果用作生产,请绑定已经备案的域名。
第二个示例:快速迁移一个已有的 ThinkPHP 应用
这里我们拿一个开源的 ThinkPHP 博客做示例:https://github.com/wolf-leo/Wolf-Blog
首先我们需要将 blog 克隆下来:
git clone https://github.com/wolf-leo/Wolf-Blog.git
使用 composer 安装依赖:
composer install
在要使用的 mysql 数据库上新建一个名为 blog_test
的 database。然后编辑 config/database.php
文件,修改其中的数据库地址、用户名、密码信息。
// ... ... return [ // ... ... // 服务器地址 'hostname' => '192.168.17.104', // 数据库名 测试数据库名称 不用修改 否则默认安装会出错 'database' => 'blog_test', // 用户名 需要修改的地方 'username' => 'root', // 密码 需要修改的地方 'password' => 'root', // ... ... ];
修改完成后,就可以本地启动查看效果了:
$ php think run ThinkPHP Development server is started On <http://127.0.0.1:8000/> You can exit with `CTRL-C` Document root is: /examples/php/Wolf-Blog/public
然后打开 http://localhost:8000 可以直接看到效果。
本地测试没问题后,就要进行部署了。部署前,我们需要知道,由于函数计算运行时代码目录本身是不可以修改的,而 ThinkPHP 会在代码目录下的 Runtime 这个目录写一些缓存文件,我们需要将这个缓存文件放到 /tmp 下面。在我们的例子中就是将 thinkphp/library/think/App.php 这个文件的第 174 行做如下修改:
- $this->runtimePath = $this->rootPath . 'runtime' . DIRECTORY_SEPARATOR; + $this->runtimePath = DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR;
修改完成后可以直接使用以下命令进行部署:
fun deploy
经历与第一个示例一样的步骤后,我们可以得到一个可以访问的临时域名进行测试:13500180-1986114430573743.test.functioncompute.com。打开该临时域名,可以预览到与本地运行一样的效果。
还可以访问 13500180-1986114430573743.test.functioncompute.com/admin 打开该应用的管理后台:
总结
本文主要介绍了如何将 ThinkPHP 应用部署到函数计算。相比较与传统的部署方法,不仅没有更复杂,还省略了购买机器、安装配置 Nginx、安装配置 php-fpm 等步骤。可以实现,将传统的 ThinkPHP 应用在本地开发完成后,一键部署到远端直接用于生产,并拥有了弹性伸缩、按量付费、免运维等特性。