Tom

Tom

docker部署蘭空圖床

docker 部署蘭空圖床#

最近圖床 vps 到期,遷移的時候發現原來的開源版 chevereto 圖床 docker 版直接沒了,直接刪庫逼氪了。因此所幸不用了,換一個國產的,雖然蘭空圖床的開源版也不更新了,但起碼 docker 可以拉到,自用也沒有問題,而且還可以不用 mysql,小機器可以不用 mysql 肯定首選。

1.docker 拉取鏡像#

鏡像地址:https://github.com/HalcyonAzure/lsky-pro-docker

我使用 docker-compose 部署,並且不使用 mysql,使用 sqlite。如有其他變動可參考作者倉庫內的 docker-compose 文件。

解釋一下端口,我這裡有點顛倒,HTTPS_PORT 是提供給 https 使用的端口,WEB_PORT 是 http 的端口,https 的端口默認自帶的是自簽證書。我使用的是 NGINX 代理 WEB_PORT 端口,目前沒有什麼問題。正常按照手冊 NGINX 對接的應該是 HTTPS_PORT 端口,注意區分。

version: '3'
services:
  lskypro:
    image: halcyonazure/lsky-pro-docker:latest
    restart: unless-stopped
    hostname: lskypro
    container_name: lskypro
    environment:
      - HTTPS_PORT=8088
      - WEB_PORT=8089
    volumes:
      - $PWD/web:/var/www/html/
    ports:
      - "9080:8088"
      - "9081:8089"
    networks:
      - lsky-net

2. 配置 NGINX 開啟 https#

我的 NGINX 配置文件

server {
        listen 443 ssl;
        server_name xxx.com;       
        #證書
        ssl_certificate      /root/.acme.sh/xxx.com_ecc/xxx.com.cer;
        ssl_certificate_key  /root/.acme.sh/xxx.com_ecc/xxx.com.key;
        access_log /var/log/nginx/lskylog/access.log main;
        location / {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Host $host;
            proxy_pass http://127.0.0.1:9081;
            proxy_redirect off;
            client_max_body_size 100m;
            client_body_buffer_size 128k;
          }        
    }

其中 “client_max_body_size 100m;” 這一串是避免上傳圖片過大導致 NGINX 中斷傳輸的。這個容器默認修改了 phpini 文件中上傳限制,但是上傳個幾兆圖片還是報錯的話,需要考慮是不是 NGINX 這邊限制導致。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。