• 欢迎访问伊栖物联网社区,聚焦物联网技术和解决方案QQ群:735553309
  • ,从传感器到片上嵌入式系统,无线接入,边缘计算,在这里您可以讨论一切
  • 参加最新的物联网研讨会报名
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏伊栖Eccee

DNMP+PicUploader搭建图片和数据备份管理平台

软件和平台 wqsj 3年前 (2021-08-12) 1003次浏览 0个评论

有时我们需要截屏并保存起来,或是把重要的图片或数据上传到码云,github等免费空间上。传统上需要在电脑上安装git工具,采用命令行的方式进行。如果只是在用户现场处理问题,git环境并不总是有的,你不得不用手机拍照下来,时间久也也会忘记之前的记录在哪里。这里探讨一种平台化的方式来管理个人的图片和数据备份,可安装在云服务器或是内网服务器上,随时随地使用。

PicUploader是一个高效的图床管理工具,它可以安装到电脑端,但我看中的是它的web方式上传,因此安装在服务器上,这样可以在任意终端上使用。由于PicUploader是用php语言,所以还需要安装web环境,这里用Docker化的DNMP,即docker化的Nginx+Mysql+PHP来实现。

一、服务器上安装DNMP+PicUploader

两个源都可以从github或gitee上拉取,以gitee为例:

cd
mkdir docker
cd docker
git clone https://gitee.com/yeszao/dnmp.git
cd dnmp
cp env.sample .env
cp docker-compose.sample.yml docker-compose.yml
docker-compose up -d

过几分钟,直到镜像生成后,进入web目录拉取PicUploader

cd www
gitclone https://gitee.com/xiebruce/PicUploader.git

接下来,进入nginx目录docker/dnmp/service/conf.d/来配置一下Picuploader,如果只是在内网用,改一下localhost.conf就可以了,但如果是外网用,还是创建一个站点的配置文件吧,比如pic_bed.conf

server {
    listen 443 ssl http2;
    server_name  pic_bed.yourdomain.com;
    root   /www/PicUploader;
    index  index.php index.html index.htm;
    #给公网访问加一个密码,以防止被滥用
    auth_basic 'Restricted';
    auth_basic_user_file /ssl/pic_bed/htpasswd;

    client_header_timeout 60s;
    client_body_timeout 60s;
    send_timeout 60s;
    keepalive_timeout  65s;

    access_log /dev/null;
    error_log  /var/log/nginx/nginx.pic_bed.error.log  warn;

    ssl_certificate /ssl/localhost/localhost.crt;
    ssl_certificate_key /ssl/localhost/localhost.key;

    location / {
        index dashboard.php;
        try_files $uri $uri/ index.php$is_args$args;
    }

    location ~ \.php$ {
        fastcgi_pass   php:9000;
        include        fastcgi-php.conf;
        include        fastcgi_params;
    }
}

上面给站点加了个密码,密码用htpasswd工具来生成htpasswd文件,需要用到apache2-utils工具,可以先安装一下,再用htpasswd生成相关文件,操作如下,请把username和password换成你自己想设置的用户名和密码:

sudo apt install apache2-utils
cd dnmp/services/nginx/ssl
mkdir pic_bed
cd pic_bed
 htpasswd -bc ./htpasswd username password

然后回到dnmp目录,重新启动一下镜像就可以用了

cd
cd docker/dnmp
docker-compose down
docker-compose up -d

通常无需修改config/config.php中的配置文件,因为你可以通过web来设置相关的图床参考,保存后,相关配置会保存在config/.settings目录中。重点是配置好几个代码托管库的帐号和token,以及本地服务器。以本地服务器为例,我的设置是:

这样如果勾选本地服务器,上传的图片会存放在~/docker/dnmp/www/PicUploader/pic_bed中。

此外,github上传后是无法直接看到图片的,因此一般是配置cdn,通过免费的jsdelivr CDN来查看图片,在github的配置中有一个domain字段,根据你的github帐户填上:

https://cdn.jsdelivr.net/gh/github用户名/库名

只要这个库已经初始化过了,就可以用,注意把库的分支要和这里的配置对应。

使用时,想上传哪个图床就先在配置处勾选好,然后再上传,可以在上传历史中看到上传的记录以及对应的地址。注意你其实可以利用这个工具上传任意文件,而非只是图片。
另外,默认开启水印,您可以在配置页面取消水印。


ECCEE版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:DNMP+PicUploader搭建图片和数据备份管理平台
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址