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:端口,然后回车,搞定收工。

相关推荐
哆啦A梦15882 小时前
uniapp分包实现
前端·vue.js·uni-app·vue3
kida_yuan2 小时前
【从零开始】13. 数据增强(Data Augmentation)
数据结构·python·nlp
flower_tomb3 小时前
对浏览器事件机制的理解
前端·javascript·vue.js
超人不会飛3 小时前
仿豆包 H5应用核心模板:用Vue快速复刻大模型对话体验
前端·javascript·vue.js
xuejianxinokok3 小时前
PostgreSQL 18 新功能:虚拟生成列
数据库·后端
未来影子3 小时前
SpringAI(GA):Neo4j向量数据库存储快速上手
后端
程序张3 小时前
Vue3+Vite 现代化前端框架👊打破 Chrome 83 内核限制
前端·javascript·vue.js