
这里使用飞牛自带的终端进行部署python写的streamlit应用(作者本人写的发票批量提取发票号码,发票日期,金额等)不用docker部署,有需求的可以私信了解,也可以定制开发各种软件以及脚本,下面直接进入主题,不说废话。


首先你得准备好你用python写的streamlit应用,上传到你的飞牛指定目录中,后面要用到。

第二步骤,打开终端,使用sudo -i切换到超级管理员账号(权限最大)使用cd进入到你刚刚存储的源码路径中

输入python3 --version没有输出任何版本信息的话,说明还没有安装python3环境,可以使用以下命令
sudo apt install -y python3 python3-pip python3-venv # 安装Python3+pip+虚拟环境(推荐用虚拟环境隔离依赖)第三步可以继续使用以下命令进行创建一个干净的虚拟环境,接着激活虚拟环境,在虚拟环境中进行操作,安装的所有依赖都会安装在虚拟环境中。
python3 -m venv venv # 创建虚拟环境
source venv/bin/activate #激活虚拟环境
pip3 install -r requirements.txt最终使用如下命令进行启动应用
nohup streamlit run app.py --server.port 8501 --server.address 0.0.0.0 --browser.gatherUsageStats false --server.headless true > app.log 2>&1 &
出现URL: http://你的nas服务器ip地址:8501就说明启动成功,可以进行访问了


验证是否启动成功的命令
ps -ef | grep streamlit # 1. 查看streamlit进程是否运行
tail -f app.log # 2. 查看日志(无报错且显示Network URL即为成功)
当然还有其他可选的配置,可以根据AI提示写出步骤去执行,比如开机自启动这些配置等等,等着你自己想象和挖掘了。
下面配上大概步骤和配置。
--------------------------------------
# 如果你的nas,也就是飞牛linux系统中,还从来没有部署过应用,也就是没有安装过python环境
# 登录 NAS 终端/SSH 后执行
python3 --version # 查看Python3版本
pip3 --version # 查看pip3版本
# 飞牛 NAS 基于 Debian/Ubuntu 内核,用apt安装-------这里我是先直接进入到需要部署的应用文件夹中/vol1/1000/serverDeployment/streamlit_app,执行下面命令的我也不知道正不正确,暂时没去验证。
就是为了隔离依赖系统环境。该虚拟环境只对当前文件夹有用,
sudo apt update
sudo apt install -y python3 python3-pip python3-venv # 安装Python3+pip+虚拟环境(推荐用虚拟环境隔离依赖)
--------------------------------------
# 1、每次重启应用都要激活虚拟环境(首次部署):
cd /vol1/1000/serverDeployment/streamlit_app # 进入主程序目录路径下
python3 -m venv venv # 创建虚拟环境
source venv/bin/activate #激活虚拟环境
pip3 install -r requirements.txt
# 2、退出虚拟环境的方法(不需要时执行):
deactivate # 终端前缀的(venv)会消失
# 3、启动steamlit应用命令(后台运行)
# 方式1:单行命令(推荐,避免换行问题)
nohup streamlit run app.py --server.port 8501 --server.address 0.0.0.0 --browser.gatherUsageStats false --server.headless true > app.log 2>&1 &
# 方式2:反斜杠正确换行(每行末尾加 \,且\后无多余空格)
nohup streamlit run app.py \
--server.port 8501 \
--server.address 0.0.0.0 \
--browser.gatherUsageStats false \
--server.headless true > app.log 2>&1 &
# 验证是否启动成功
ps -ef | grep streamlit # 1. 查看streamlit进程是否运行
tail -f app.log # 2. 查看日志(无报错且显示Network URL即为成功)
# 1. 创建systemd服务文件,设置开机自启动改应用
sudo vim /etc/systemd/system/streamlit-demo.service
# (1)写入以下内容
----------------------------------------------------
[Unit]
Description=Streamlit Demo App on FeiNiu NAS
After=network.target
[Service]
User=root
WorkingDirectory=/volume1/apps/streamlit_demo
ExecStart=/volume1/apps/streamlit_demo/venv/bin/streamlit run app.py --server.port 8501 --server.address 0.0.0.0 --server.headless true --browser.gatherUsageStats false
Restart=always # 进程崩溃自动重启
RestartSec=5
[Install]
WantedBy=multi-user.target
-----------------------------------------------
# (2) 启用并启动服务
sudo systemctl daemon-reload
sudo systemctl enable streamlit-demo # 开机自启
sudo systemctl start streamlit-demo # 启动服务
sudo systemctl status streamlit-demo # 查看服务状态