Python是很流行也很厉害,但是部署起来是个问题。对于初学者一个环境就能折腾半天。真不像Java那样,用Tomcat或Jboss就可以很方便的搞好。
原来用的Ubantu,Ubantu上安装BT.cn,到后面无论怎么样,都无法启动起来。总是报错。后面将服务器重新格式化,安装CentOS-8.5.2111-x64才搞定。使用Centos搞定。
Centos系统执行下面命令:
url=https://download.bt.cn/install/install_panel.sh;if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install_panel.sh $url;fi;bash install_panel.sh ssl251104
一直安装成功即可。会显示出来登录的相关信息。
在网站选线添加Python网站。
第一步,创建一个和开发环境一致的环境。譬如:开发环境为 3.10.x,那部署环境也要保持一致。

更多操作,可以看教程:
https://www.bt.cn/bbs/thread-144409-1-1.html
可以使用ssh shell登录。激活虚拟环境 pethome,执行
/www/server/pyporject_evn/pethome/bin/activate
激活虚拟环境pethome.
到Python工程的文件夹里。执行以下操作:
pip install -r requirements.txt
配置Python工程启动面板。

Python工程还依赖一个Node工程。strapi。
strapi的版本信息。

在宝塔面板上安装 node环境 :v18.20.x 。
安装成功后,需要选择该环境后,服务器的Node环境就会全局覆盖。

在strapi的文件夹下执行:
npm install
安装依赖。
安装成功后,配置启动环境。

推荐使用FinalShell。shell 登录非常方便。

strapi支持类似这样的查询GET
http://localhost:1337/api/recent-news?sort[0]=id:desc&pagination[page]=1&pagination[pageSize]=3
为什么部署后的 strapi 访问 api 不可用。
返回这样的问题: {"data":null,"error":{"status":403,"name":"ForbiddenError","message":"Forbidden","details":{}}}
需要登录管理界面并修改权限,对public可以查询。

选择你赋值给 public的权限即可。
