FastSoyAdmin centos7云服务器+宝塔部署

0 环境

  • 使用的系统:mac
  • 使用的框架:FastSoyAdmin
  • 使用的数据库:PostgreSQL
  • 技术:fastapi、vue3、pdm
  • 云服务:阿里云轻量服务器

1 docker部署

docker部署比较简单,只要保证docker compose安装了,然后执行docker-compose.yml即可,你要后台运行,执行docker-compose up -d。因为我本人用的是轻量服务器,测了一下用docker有点占我的资源了,为了省点资源,所以麻烦点,换了个普通部署的方式。

2 宝塔部署

我为什么要用它呢,朋友安利我,我就顺便试下效果。安装比较简单,自己在注册一下就搞定了。

1 CentOS 7 专用安装命令

arduino 复制代码
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh

2 前期准备工作

首先前端打包,我放在云服务器上跑,它扛不住,自动kill它了,只能本地打包放在本地,build一下,你会看到web/dist,然后将整个web项目中只保留它,然后和后端项目放一起打个压缩包。将前后端的压缩包上传到宝塔的文件系统里,然后在右键解压包即可,如下图:

3 后端

1 安装python环境

其实用宝塔安装python还是很方便的。找到网站 --> python项目 --> 安装python --> 选择python版本。然后添加项目,即可。如下图:

不过我更喜欢用命令,不喜欢用命令的人,可以跳过这里了,我个人添加项目,更多是当作一个管理条目的效果,对我来说:只是方便我知道有哪些python的项目。然后我直接ssh登录到云服务上,会发现,还是系统自带的python版本,需要重新指定一下,宝塔会告诉我们python的位置,所以很方便建立软连接,直接覆盖它即可,当然你若是有很多项目,或者自带的在用,别这么玩,还是用python版本管理工具吧。如下代码:

bash 复制代码
ln -sf /www/server/pyporject_evn/versions/3.13.2/bin/python3.13 /usr/bin/python3
ln -sf /www/server/pyporject_evn/versions/3.13.2/bin/pip3 /usr/bin/pip3
pip3 install virtualenv
ln -sf /www/server/pyporject_evn/versions/3.13.2/bin/virtualenv /usr/bin/virtualenv

这里输入python3 --version,如下图就是成功了。

2 pdm安装

之前用pip,后来看了博客,现代Python包管理工具比较,先不说项目的性能什么,单从便捷上来说,进步很多,比如pip之后,啥都不知道,而pdm add后直接在toml里可以看到,真的方便管理,后期项目别人下载了,install一下即可,而且pdm方式和pnpm有点像,我就选它了。安装也简单,首先安装pipx,图方便,无需配置啥。pipx ensurepath就已经将 pipx 到 PATH里了,pipx安装pdm即可。

css 复制代码
pip3 install --user pipx
pipx ensurepath
pipx install pdm

进入根目录,输入下面的命令即可,直接pdm install,也可以的。

bash 复制代码
cd xxxx
pdm init
pdm install

3 pdm运行项目

直接使用默认sqlite的话,运行没问题。感觉下载慢,换源即可。

arduino 复制代码
pdm run run.py

当我们nginx配置好后,项目跑起来了,就可以使用nohup pdm run python run.py > app.log 2>&1 &。面板命令方式就是这样的。如下图:

当然正式环境可以用systemctluwsgi,也可以试试pm2这类的。

2 nodejs安装(无须安装,选装)

nodejs的安装也是网站选择node项目,安装即可。要在ssh里用,需要加入软连接覆盖。node -v查看即可。

bash 复制代码
sudo ln -sf /www/server/nodejs/v18.14.2/bin/node /usr/local/bin/node
sudo ln -sf /www/server/nodejs/v18.14.2/bin/npm /usr/local/bin/npm
npm install -g pnpm

3 nginx

到软件商城安装nginx。如下图:

安装好后,点进去。然后找到配置修改。如下图:

复制如下代码,粘贴到配置修改里,保存下即可。配置大意就是:监听9527端口,然后将它的请求转成9999后端的路由。这里我有个静态文件,加了个static,本质和api方向代理差不多意思。

bash 复制代码
server 
    {
        listen 9527;
        server_name 127.0.0.1;
    
        # 前端静态资源
        location / {
            root 你的地址/fast-soy-admin/web/dist;
            try_files $uri $uri/ /index.html;
        }
    
        # API 反向代理
        location ^~ /api/ {
            proxy_pass http://127.0.0.1:9999/api/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    
        # 上传文件静态资源(如有)
        location ^~ /api/static/ {
            proxy_pass http://127.0.0.1:9999/static/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            # alias /opt/fast-soy-admin/static;
        }
    }

4 测试

浏览器输入你的ip:端口,然后回车,搞定收工。

相关推荐
计算机学姐8 小时前
基于微信小程序的高校班务管理系统【2026最新】
java·vue.js·spring boot·mysql·微信小程序·小程序·mybatis
舒一笑10 小时前
PandaCoder:致敬MyBatis Log Plugin,但我们做得更极致!
后端·程序员·intellij idea
飞翔的佩奇11 小时前
【完整源码+数据集+部署教程】【天线&水】舰船战舰检测与分类图像分割系统源码&数据集全套:改进yolo11-repvit
前端·python·yolo·计算机视觉·数据集·yolo11·舰船战舰检测与分类图像分割系统
哆啦A梦158811 小时前
点击Top切换数据
前端·javascript·vue.js
简单点了11 小时前
go前后端项目的启动 、打包和部署
开发语言·后端·golang
木头左12 小时前
最大回撤约束下ETF多因子动态止盈参数校准方案
python
汤姆yu12 小时前
2026版基于python的协同过滤音乐推荐系统
开发语言·python
汤姆yu12 小时前
基于python的电子商务管理系统
开发语言·python
may_一一12 小时前
pycharm\python 安装下载
ide·python·pycharm
雨夜之寂12 小时前
mcp java实战 第一章-第一节-MCP协议简介.md
java·后端