ServerLess实战:函数计算+NAS搭建无服务器thinkphp5
如果太忙都有可能忘记续费主机或者服务器,而且每次买配置过低或者过高都不合适,所以这次用函数计算+NAS搭建无需续费无存储大小限制无需考虑带宽CPU等性能瓶颈,来搭建常用的tp5
先放懒人包下载,详见附件,上传NAS
1、必备条件
A、开通函数计算与NAS服务
B、绑定函数计算域名
C、挂载NAS到同区域节点的ECS上方便文件的复制粘贴修改操作
D、给账户充钱。函数计算和NAS扣费都是后付费,要保证账户余额
2、函数计算配置详解
A、选择区域创建服务,要和NAS选择同一区域
B、新建服务、绑定NAS
绑定nas的时候写用户不用用他默认的-1,那个读不出来,自己随便定一个ID
C、新建函数、编写函数代码
选择HTTP函数,运行环境选择php7.2,触发器选择任何人,其他随意 以下是函数代码,
<?php //#自定义的域名,绑定了自定义域名的,可以换成自己自定义的。 $MY_HOST = "你的地址哈3333.cn-cn-hangzhou.fc.aliyuncs.com"; //#web目录,默认是tp5的public目录,绝对路径,如:/code/public $WWW_DIR = '/mnt/think5/public'; function handler($request, $context){ $uri = $request->getAttribute("requestURI"); //return $uri; $file = explode("?", $uri)[0]; if($file=='/') $uri='/'; $file = $GLOBALS['WWW_DIR'].$file; if(file_exists($file) and $uri!='/'){ if(strpos($uri,".php")) return php_run(basename($file), $request, $context);#php_run return static_run($uri);#static_run } $request = $request->withAttribute("requestURI", "?s=".$uri); return php_run('index.php', $request, $context);# php_run } function php_run($name,$request, $context) { return $GLOBALS['fcPhpCgiProxy']->requestPhpCgi($request, $GLOBALS['WWW_DIR'], $name,['SERVER_NAME' => $GLOBALS['MY_HOST'], 'SERVER_PORT' => '80', 'HTTP_HOST' => $GLOBALS['MY_HOST']],['debug_show_cgi_params' => false, 'readWriteTimeout' => 15000]); } use RingCentral\Psr7\Response; function static_run($uri): Response{ $file_dir = $GLOBALS['WWW_DIR'].$uri; #完整文件路径 $file_dir = explode("?", $file_dir)[0]; #去掉动态路径 if(is_dir($file_dir)) $file_dir .= '/index.html';# 可以这里定义目录的默认索引页 $handle = fopen($file_dir, "r"); $contents = fread($handle, filesize($file_dir)); fclose($handle); return new Response(200, ['Content-Type' => $GLOBALS['fcPhpCgiProxy']->getMimeType($file_dir),'Cache-Control' => "max-age=8640000",'Accept-Ranges' => 'bytes'], $contents); } function clearFcHost($request,$context){ $uri = $request->getAttribute("requestURI"); $uri = str_replace("/2016-08-15/proxy/".$context['service']['name']."/".$context['function']['name'],"",$uri); $request = $request->withAttribute("requestURI", $uri); return $request; }
D、配置自定义域名
如图:
3、NAS配置详解
在对应目录上传代码包,点击下载,解压缩代码即可
4、测试访问
你的域名直接访问
你的域名/index.php?s=index/index/index
你的域名/about
都没问题的话就大功告成
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Spring Boot 2.x基础教程:使用Swagger2构建强大的API文档
随着前后端分离架构和微服务架构的流行,我们使用Spring Boot来构建RESTful API项目的场景越来越多。通常我们的一个RESTful API就有可能要服务于多个不同的开发人员或开发团队:IOS开发、Android开发、Web开发甚至其他的后端服务等。为了减少与其他团队平时开发期间的频繁沟通成本,传统做法就是创建一份RESTful API文档来记录所有接口细节,然而这样的做法有以下几个问题: 由于接口众多,并且细节复杂(需要考虑不同的HTTP请求类型、HTTP头部信息、HTTP请求内容等),高质量地创建这份文档本身就是件非常吃力的事,下游的抱怨声不绝于耳。 随着时间推移,不断修改接口实现的时候都必须同步修改接口文档,而文档与代码又处于两个不同的媒介,除非有严格的管理机制,不然很容易导致不一致现象。 为了解决上面这样的问题,本文
- 下一篇
Arthas开源一周年,Star 160K,我们一直在坚持什么?
缘起 最近看到一个很流行的标题,《开源XX年,star XXX,我是如何坚持的》。 看到这样的标题,忽然发觉Arthas从2018年9月开源以来,刚好一年了,正好在这个秋高气爽的时节做下总结和回顾。 Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。 Github: https://github.com/alibaba/arthas 文档:https://alibaba.github.io/arthas 回顾Arthas Star数的历史,一直保持快速增长,目前已经突破160K。 感谢用户的支持,既是压力也是动力。在过去开源的一年里,Arthas发布了7个Release版本,我们一直坚持三点: 持续改进易用性 持续增加好用的命令 从开源社区中获取力量,回报社区 持续改进易用性 Arthas一直把易用性放在第一位,在开源之后,我们做了下面
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS关闭SELinux安全模块
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- 设置Eclipse缩进为4个空格,增强代码规范
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路