本项目是使用阿里云Serverless部署Wordpress
的拓展,进一步确定了serverless部署PHP网站的原理
排查了半天还是不行,目前serverless对于我来说属于黑箱状态,个人猜测是在函数计算那边域名绑定出问题了,因为阿里也说了如果没绑定域名的话,响应变成下载。我明明绑定了域名,所有文件和操作和第一次一样,也变成下载了,大概率是函数计算那边响应出问题了。解决了,原因大概是不能在本地执行php连接数据库?反正感觉很魔幻。部署的很不稳。
成功率接近100%了,感谢钉钉群大佬们的帮助
建议阅读本文之前先阅读上一篇:
上文有的内容我就不重复说一遍了。
准备
部署Typecho的前期步骤和部署Wordpress一样
1.拥有使用wordpress、typecho经验
2.阿里云账号充点钱
3.拥有最基础的web知识
4.开通阿里云函数计算与文件存储服务NAS,不用你自己购买,后文会自动购买的,开通服务就行。
5.准备好域名(如果你用默认配置文件的话需要使用备案的域名),比如我的域名:coldark.cn。cname解析到阿里云函数计算节点域名。节点域名可以从官方文档获取。cname指向的地址是组合后的域名,比如:1213580079978440.cn-hangzhou.fc.aliyuncs.com
6.准备好nodejs与funcraf,funcraf可以使用npm install @alicloud/fun -g安装
7.安装好PHP环境
8.安装好git
获取文件
git clone https://github.com/wnark/fc-typecho.git
自己决定文件存放的位置,这个是在本地编辑一下,部署到函数后不需要了,假设git到/root/fc-typecho
,注意后文自行替换文件地址。
我已经根据Wordpress的原始项目修改了一下。
配置
env
按照部署Wordpress的方式修改下.env
文件,这个文件是保存你的账号信息,都一样。
初始化
cd /root/fc-typecho/fc-web-mysql
fun nas init
fun nas info
如果上文给ram用户权限不够的话可能会报错,没事,给了权限再执行一次就行
上传
执行:
cd /root/fc-typecho/fc-web-mysql
fun nas sync
fun nas ls nas:///mnt/auto/
解释:
fun nas sync: 将本地 NAS 中的内容(.fun/nas/auto-default/fc-wp-sqlite)上传到 NAS 中的 fc-wp-sqlite 目录
fun nas ls nas:///mnt/auto/: 查看我们是否已经正确将文件上传到了 NAS
在这里,NAS作为网站的存储器。
部署
cd /root/fc-typecho/fc-web-mysql
index.php
修改index.php
内的 $host
值
将$host = "hz.mofangdegisn.cn";
内的域名改成你自己的域名
template.yml
修改template.yml
1.修改该文件内的两处fc-ty-demo
,都需要替换下,建议变成fc-ty-coldark-cn
这样配合你自己的域名。
2.修改fc-typecho-domain
内的DomainName
,后面加上你自己的域名。比如DomainName: 'coldark.cn'
部署
执行
fun deploy
等待它自动开通服务,自动部署,部署完成后访问连接数据库就行了。
fun deploy
就行
配置
正常配置数据库就行,下面的问题已修复。
连接数据库的时候会报错:
Warning: Cannot modify header information - headers already sent by (output started at /mnt/auto/typecho/install.php:204) in /mnt/auto/typecho/var/Typecho/Cookie.php on line 102
Warning: Cannot modify header information - headers already sent by (output started at /mnt/auto/typecho/install.php:204) in /mnt/auto/typecho/install.php on line 586
目前修复的努力失效了,建议导入配置好的typecho数据库后直接访问网站就行了。根据我搜到的资料是缺PHP组件,但没法装上去。
其他
1.删除之前为了测试的本地的hosts配置
2.重装服务器/删掉/root/fc-wordpress目录
3.删掉这次RAM子账号/取消权限。
总结
配置的过程中,我感觉serverless部署的过程和使用nginx/apache部署的方式差不多,就是需要阿里/大佬详细解释下每个参数的流程。目前来说在serverless部署typecho对于我来说和我最开始用nginx一样感觉是黑箱状态。
如果阿里说的自动扩容是真的话,serverless对于小公司来说作用比个人更大。毕竟个人的话有Oracle cloud这个永久免费的变态。总不至于像百亿补贴一样给用户送钱来和Oracle cloud竞争吧
参考:
安装Typecho卡在“确认您的配置,数据库配置”问题的终极解决方法
版权属于:寒夜方舟
本文链接:https://www.wnark.com/archives/128.html
本站所有原创文章采用署名-非商业性使用 4.0 国际 (CC BY-NC 4.0)。 您可以自由地转载和修改,但请注明引用文章来源和不可用于商业目的。声明:本博客完全禁止任何商业类网站转载,包括但不限于CSDN,51CTO,百度文库,360DOC,AcFun,哔哩哔哩等网站。
1 条评论
这个博客是使用阿里云Serverless部署的吗?感觉好像很不错的样子