2、相册功能(python-flask-前端)(已解决)
更新于:2024年3月20日
相册功能(python-flask-前端)(已解决)
目录
[toc]
使用
pip install flask
pip install pillow
会自动识别相册的
注意:只要在static/albums
下创建项目目录,就会自动被识别被相册的。
shell 代码汇总
[root@docusaurus-wiki ~]#grep ^[^#] /etc/rc.d/rc.local
touch /var/lock/subsys/local
/root/shell/private_shell/gallery-flask.sh
[root@docusaurus-wiki ~]#cat /root/shell/private_shell/gallery-flask.sh
#!/bin/bash
cd /root/gallery-flask
python3.8 gallery.py > /var/log/gallery.log 2>&1 &
[root@docusaurus-wiki ~]#cd gallery-flask/
[root@docusaurus-wiki gallery-flask]#ls
gallery.py static templates
- gallery-flask目录
[root@docusaurus-wiki gallery-flask]# pwd
/root/gallery-flask
[root@docusaurus-wiki gallery-flask]# ls
gallery.py static templates
[root@docusaurus-wiki gallery-flask]# tree .
.
├── gallery.py
├── static
│ └── albums
│ ├── \351\243\216\346\231\257
│ │ ├── cover.jpg
│ │ └── mmexport1701480933436.jpg
│ └── \351\253\230\345\234\206\345\234\206
│ ├── 111.jpg
│ ├── 3.jpg
│ ├── beauty.jpg
│ ├── cover1.jpg
│ └── cover.jpg
└── templates
├── album.html
└── index.html
5 directories, 10 files
[root@docusaurus-wiki gallery-flask]#
- 设置开机自启脚本
[root@docusaurus-wiki gallery-flask]# crontab -l
……
@reboot /usr/local/bin/python3.8 /root/gallery-flask/gallery.py >> /var/log/crontab.log 2>&1 &
[root@docusaurus-wiki gallery-flask]#
此部分代码未测试!(待后期验证效果)
这部分代码有问题,这里更新下:
2024年3月20日更新
[root@docusaurus-wiki ~]# cat gallery-flask.sh
#!/bin/bash
cd /root/gallery-flask
python3.8 gallery.py > /var/log/gallery.log 2>&1 &
[root@docusaurus-wiki ~]#
[root@docusaurus-wiki ~]# ps -ef|grep python
root 868 1 0 2023 ? 00:12:07 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
root 5902 1 0 10:45 pts/1 00:00:00 python3.8 gallery.py
root 5955 5719 0 10:48 pts/1 00:00:00 grep --color=auto python
[root@docusaurus-wiki ~]#
[root@docusaurus-wiki ~]# crontab -l
0 1,7,13,19 * * * /root/Algolia/docker.sh >> /var/log/crontab.log 2>&1
0 8 * * * /root/onenavBackup.sh >> /var/log/crontab.log 2>&1
@reboot /root/gallery-flask.sh
[root@docusaurus-wiki ~]#
2024年3月21日再次更新下
上一版本的代码无法开机自启,这里重新配置下。
##配置
chmod +x /etc/rc.d/rc.local
vim /etc/rc.d/rc.local
……
/root/gallery-flask.sh
chmod +x gallery-flask.sh
##重启测试:
reboot
[root@docusaurus-wiki ~]# ps -ef|grep python
root 952 1 0 07:40 ? 00:00:00 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
root 984 1 1 07:40 ? 00:00:00 python3.8 gallery.py
root 2334 2125 0 07:41 pts/0 00:00:00 grep --color=auto python
[root@docusaurus-wiki ~]#
经测试:这个方法是OK的,符合预期。
- 备份数据(已备份)
[cmi-photos]
# 同步的目标文件夹
path=/root/gallery-flask
# rsync daemon 在传输前是否切换到指定的 path 目录下,并将其监禁在内,用于增加传输的安全性
use chroot=no
# 指定最大的连接数
max connections=4
# yes 表示只读本地文件无法同步到服务器
read only=no
# 客户端请求显示模块列表时,该模块是否显示出来
list=true
# 服务运行时的用户
uid=root
# 服务运行时的用户组
gid=root
# 进行验证时的用户名,必须是系统存在的用户
auth users = root
# 连接用户时的密码
secrets file=/etc/rsyncd.passwd
# 允许的 ip
hosts allow=
main()函数
- 需要注意的是
这个项目,本地测试,代码如下:
if __name__ == '__main__':
app.run(debug=True)
如果要放到ecs里,则需要修改为如下:(不修改的话,会报错的)
app.run(host='0.0.0.0', port=5000)
- 另外,如果用ecs这里的代码,本地测试也是OK的
版本管理
v3-2024.4.10-gallery-flask-完美版(最终停止服务版)
因为gallery相册部署在ecs后,公网访问延迟太多了,应该是flask本身应用的问题,这里选择丢弃,直接采用豆瓣+百度云盘
方式来提供相册服务。
具体优化过程见如下文档:
- 代码位置
链接:https://pan.baidu.com/s/10lJ7ZT2Y5IToGd1FWxDOzw?pwd=0m3v
提取码:0m3v
v3-2024.4.10-gallery-flask-完美版(最终停止服务版).gz
v2-2024.4.6-gallery-flask-完美版(各需求已完全实现)
- 代码位置
链接:https://pan.baidu.com/s/10lJ7ZT2Y5IToGd1FWxDOzw?pwd=0m3v
提取码:0m3v
v2-2024.4.6-gallery-flask-完美版(各需求已完全实现).zip
- 效果
v1-2024.3.18-gallery-flask-初始版本(基本满足需求)
- 代码位置
链接:https://pan.baidu.com/s/10lJ7ZT2Y5IToGd1FWxDOzw?pwd=0m3v
提取码:0m3v
v1-2024.3.18-gallery-flask-初始版本(基本满足需求).zip
- 效果