亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

首先介紹下在本文出現(xiàn)的幾個(gè)比較重要的概念:

函數(shù)計(jì)算(Function Compute): 函數(shù)計(jì)算是一個(gè)事件驅(qū)動(dòng)的服務(wù),通過函數(shù)計(jì)算,用戶無需管理服務(wù)器等運(yùn)行情況,只需編寫代碼并上傳。函數(shù)計(jì)算準(zhǔn)備計(jì)算資源,并以彈性伸縮的方式運(yùn)行用戶代碼,而用戶只需根據(jù)實(shí)際代碼運(yùn)行所消耗的資源進(jìn)行付費(fèi)。函數(shù)計(jì)算更多信息 參考。Fun: Fun 是一個(gè)用于支持 Serverless 應(yīng)用部署的工具,能幫助您便捷地管理函數(shù)計(jì)算、API 網(wǎng)關(guān)、日志服務(wù)等資源。它通過一個(gè)資源配置文件(template.yml),協(xié)助您進(jìn)行開發(fā)、構(gòu)建、部署操作。Fun 的更多文檔 參考。

備注: 本文介紹的技巧需要 Fun 版本大于等于 3.6.3。

輕松搭建基于 Serverless 的 ThinkPHP 應(yīng)用

 

Thinkphp%20是什么?

ThinkPHP%20是一個(gè)免費(fèi)開源的,快速、簡(jiǎn)單的面向?qū)ο蟮妮p量級(jí)%20PHP%20開發(fā)框架,是為了敏捷%20WEB%20應(yīng)用開發(fā)和簡(jiǎn)化企業(yè)應(yīng)用開發(fā)而誕生的。ThinkPHP%20從誕生以來一直秉承簡(jiǎn)潔實(shí)用的設(shè)計(jì)原則,在保持出色的性能和至簡(jiǎn)代碼的同時(shí),更注重易用性。遵循%20Apache2%20開源許可協(xié)議發(fā)布,意味著你可以免費(fèi)使用%20ThinkPHP,甚至允許把你基于%20ThinkPHP%20開發(fā)的應(yīng)用開源或商業(yè)產(chǎn)品發(fā)布/銷售。

效果預(yù)覽

本文涉及到的兩個(gè)應(yīng)用示例部署后的鏈接,點(diǎn)擊預(yù)覽效果:

  • ThinkPHP%20官方示例:http://13492727-1986114430573743.test.functioncompute.com
  • ThinkPHP%20博客示例:http://13500180-1986114430573743.test.functioncompute.com
  • ThinkPHP%20博客示例管理后臺(tái):http://13500180-1986114430573743.test.functioncompute.com/admin

環(huán)境準(zhǔn)備

首先按照%20Fun%20的安裝文檔里介紹的方法將%20Fun%20安裝到本機(jī)。

PS:%20本文介紹的方法,不需要安裝%20Docker,僅僅安裝%20Fun%20即可,最簡(jiǎn)單的方式就是直接下載可執(zhí)行的二進(jìn)制文件。

安裝完成后,可以執(zhí)行%20fun%20--version%20檢查%20Fun%20是否安裝成功。

第一個(gè)示例:快速初始化并部署一個(gè)%20ThinkPHP%20示例應(yīng)用

初始化一個(gè)%20thinkphp%20示例:

composer%20create-project%20topthink/think%20tp

將該示例在本地運(yùn)行測(cè)試:

php%20think%20run

可以在本地看到效果:

 

傳統(tǒng)的開發(fā)方式是,本地開發(fā)完成后,就要進(jìn)行部署工作了,通常我們部署一個(gè) PHP 應(yīng)用可能需要如下幾步:

  1. 購(gòu)買一臺(tái)物理機(jī)器,比如 ECS
  2. 在物理機(jī)器上綁定公網(wǎng) ip、安裝 php、Nginx、php-fpm
  3. 配置 nginx、php-fpm 以及上傳應(yīng)用到該機(jī)器上
  4. 運(yùn)行測(cè)試

其中最復(fù)雜的就要數(shù)第 2、3 步了,因?yàn)榭赡懿煌沫h(huán)境的配置方法還不一樣,會(huì)有比較多的坑。我們演示下如何將應(yīng)用部署到函數(shù)計(jì)算上。

fun deploy

僅需要一個(gè)命令,F(xiàn)un 會(huì)自動(dòng)進(jìn)入部署流程,在該流程中,用戶僅僅需要按下一系列的回車即可。流程細(xì)節(jié)如下:

  1. Fun 檢測(cè)到這不是一個(gè) Fun 項(xiàng)目,會(huì)提示協(xié)助創(chuàng)建(直接回車或者輸入 y 即可)
  2. Fun 項(xiàng)目自動(dòng)創(chuàng)建成功,提示是否進(jìn)行部署?可以直接回車,或者輸入 y 進(jìn)行確認(rèn)
  3. 然后 Fun 會(huì)直接將應(yīng)用部署到線上了

部署完成后,我們可以根據(jù)部署成功的日志看到,函數(shù)計(jì)算為我們生成了臨時(shí)域名 13492727-1986114430573743.test.functioncompute.com,我們可以通過這個(gè)臨時(shí)域名直接訪問我們剛剛部署的應(yīng)用。

備注:臨時(shí)域名僅僅用作演示以及開發(fā),是有時(shí)效的,如果用作生產(chǎn),請(qǐng)綁定已經(jīng)備案的域名。

第二個(gè)示例:快速遷移一個(gè)已有的 ThinkPHP 應(yīng)用

這里我們拿一個(gè)開源的 ThinkPHP 博客做示例:https://github.com/wolf-leo/Wolf-Blog

首先我們需要將 blog 克隆下來:

git clone https://github.com/wolf-leo/Wolf-Blog.git

使用 composer 安裝依賴:

composer install

在要使用的 MySQL 數(shù)據(jù)庫(kù)上新建一個(gè)名為 blog_test 的 database。然后編輯 config/database.php 文件,修改其中的數(shù)據(jù)庫(kù)地址、用戶名、密碼信息。

// ... ...
return [
    // ... ...
    // 服務(wù)器地址
    'hostname' => '192.168.17.104',
    // 數(shù)據(jù)庫(kù)名 測(cè)試數(shù)據(jù)庫(kù)名稱 不用修改 否則默認(rèn)安裝會(huì)出錯(cuò)
    'database' => 'blog_test',
    // 用戶名  需要修改的地方
    'username' => 'root',
    // 密碼     需要修改的地方
    'password' => 'root',
    // ... ...
];

修改完成后,就可以本地啟動(dòng)查看效果了:

$ 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 可以直接看到效果。

輕松搭建基于 Serverless 的 ThinkPHP 應(yīng)用

 

本地測(cè)試沒問題后,就要進(jìn)行部署了。部署前,我們需要知道,由于函數(shù)計(jì)算運(yùn)行時(shí)代碼目錄本身是不可以修改的,而 ThinkPHP 會(huì)在代碼目錄下的 Runtime 這個(gè)目錄寫一些緩存文件,我們需要將這個(gè)緩存文件放到 /tmp 下面。在我們的例子中就是將 thinkphp/library/think/App.php 這個(gè)文件的第 174 行做如下修改:

- $this->runtimePath = $this->rootPath . 'runtime' . DIRECTORY_SEPARATOR;
+ $this->runtimePath = DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR;

修改完成后可以直接使用以下命令進(jìn)行部署:

fun deploy

經(jīng)歷與第一個(gè)示例一樣的步驟后,我們可以得到一個(gè)可以訪問的臨時(shí)域名進(jìn)行測(cè)試:13500180-1986114430573743.test.functioncompute.com。打開該臨時(shí)域名,可以預(yù)覽到與本地運(yùn)行一樣的效果。

還可以訪問 13500180-1986114430573743.test.functioncompute.com/admin 打開該應(yīng)用的管理后臺(tái):

輕松搭建基于 Serverless 的 ThinkPHP 應(yīng)用

 

總結(jié)

本文主要介紹了如何將 ThinkPHP 應(yīng)用部署到函數(shù)計(jì)算。相比較與傳統(tǒng)的部署方法,不僅沒有更復(fù)雜,還省略了購(gòu)買機(jī)器、安裝配置 Nginx、安裝配置 php-fpm 等步驟??梢詫?shí)現(xiàn),將傳統(tǒng)的 ThinkPHP 應(yīng)用在本地開發(fā)完成后,一鍵部署到遠(yuǎn)端直接用于生產(chǎn),并擁有了彈性伸縮、按量付費(fèi)、免運(yùn)維等特性。

分享到:
標(biāo)簽:ThinkPHP
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定