最近没有什么事情,就心血来潮搭建一个图床玩玩
应用Chevereto工具可以快速搭建
用docker快速拉取搭建,方便快捷
下面的操作涉及docker,需要在root权限下执行如下操作。
1.安装docker和compose(容器的编排工具)
yum install docker-latest
curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
我以前就配置好了docker和compose 如果有就这步就可以不用配置
2.获取mariadb和nmtan/chevereto镜像
systemctl start docker-latest.service
docker pull mariadb:latest
docker pull nmtan/chevereto:latest
3.使用Docker-compose启动服务。
mkdir cheverto/
cd cheverto
touch docker-compose.yaml
在docker-compose.yaml 增加如下内容 里面内容是默认的 可以根据自己需要修改
version: '3'
services:
db:
image: mariadb
container_name: chevereto-mysql
# 挂载容器中的mysql数据卷到本地database文件夹
volumes:
- ./database:/var/lib/mysql:rw
restart: always
networks:
- chevereto-net
# 设置容器中的mysql的root用户密码以及其他用户
environment:
MYSQL_ROOT_PASSWORD: 123
MYSQL_DATABASE: chevereto
MYSQL_USER: chevereto
MYSQL_PASSWORD: chevereto
ports:
- 3307:3306
chevereto:
depends_on:
- db
image: nmtan/chevereto
container_name: chevereto
restart: always
networks:
- chevereto-net
# 设置CHEVERETO_DB的一些参数
environment:
CHEVERETO_DB_HOST: db
CHEVERETO_DB_USERNAME: chevereto
CHEVERETO_DB_PASSWORD: chevereto
CHEVERETO_DB_NAME: chevereto
CHEVERETO_DB_PREFIX: chv_
# 挂载容器中的images文件夹到本地的chevereto_images文件夹,以及
# 将本地的conf/upload.ini配置文件挂载到容器的/usr/local/etc/php/conf.d/中
volumes:
- ./chevereto_images:/var/www/html/images:rw
- ./conf/upload.ini:/usr/local/etc/php/conf.d/upload.ini:ro
# 端口映射,本机:容器,需要配置安全组
ports:
- 8888:80
networks:
chevereto-net:
volumes:
database:
chevereto_images:
我们创建的三个文件夹分别挂载了不同的容器文件夹,chevereto_images
和database
用于数据迁移,/conf/upload.ini
用于配置上传文件限制。
在conf目录中创建upload.ini,这个可以取消2MB文件上传限制,内容如下:
编辑配置文件之后,就能方便的启动服务
PHP:
max_execution_time = 60;
memory_limit = 256M;
upload_max_filesize = 256M;
post_max_size = 256M;
然后修改权限sudo chown -R www-data:www-data database chevereto_images conf
,最后启动docker-compose up -d
,然后就可以通过IP+端口号访问chevereto图床了
数据迁移
上面我们的database文件夹保存的是我们的账号信息、配置信息等等,chevereto_images保存了我们上传的图片数据,如果我们需要从当前服务器迁移到另一个服务器只需要保存好.chevereto中的所有内容,然后全部放到另一个服务器的.chevereto目录中,同样设置权限,然后安装docker和docker-compose,然后执行docker-compose up -d就可以直接运行,我们的数据也会一起同步过来。