搭建一個自己圖床網站

雲生死海發表於2020-03-01

在這裡插入圖片描述

最近沒有什麼事情,就心血來潮搭建一個圖床玩玩

應用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_imagesdatabase用於資料遷移,/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就可以直接執行,我們的資料也會一起同步過來。

相關文章