部落格搭建-自建Lychee圖床

王天池發表於2018-12-20

為什麼自己建圖床

這主要是因為我個人部落格的流量實在是不高,再加上國外的免費圖床可能說被ban就被ban,國內圖床又各種不穩定,這就導致我看到很多人的文章中的圖片經常處於無法開啟的情況。

所以嘛,我就想自己搞一個,這樣折騰一下,還能多學點知識

我的環境

由於本文是基於我自己的VPS環境配置的,在其他環境下步驟會有些許不同,不確保完全一樣,所以我先寫出我自己的環境,其他的情況應該大同小異吧

  • Ubuntu 18.04
  • PHP 7.2.10
  • MySQL 5.7
  • Nginx 1.14.0

我們圖床使用的是開源的Lychee,大家可以看到lychee還是非常好看的

image-20181220194859505

安裝

環境

首先要保證環境滿足Lychee的條件,Lychee需要PHP5.5以上,並且安裝了下列PHP擴充

  • A web server (Apache, nginx, etc)

  • A MySQL database (MariaDB also works)

  • PHP 5.5 or later with the following extensions: session, exif, mbstring, gd, mysqli, json, zip, and optionally, imagick

    執行php -m檢視下是否自己已經安裝了這些擴充,沒安裝的話就用下面的命令安裝

sudo apt-get install php7.2-xx
複製程式碼

當我們搞定了上面要求的這些環境之後,我們繼續

下載

我們進入 /var/www目錄下,直接從github把Lychee拉下來

git clone --recurse-submodules https://github.com/LycheeOrg/Lychee.git

然後對相應的資料夾設定好許可權

chmod -R 775 uploads/ data/
複製程式碼

配置

配置Nginx

接著我們為新的頁面設定Nginx Server Block,

進入/etc/nginx/sites-available/目錄

vim /etc/nginx/sites-available/lychee 然後我們將下面的內容複製貼上,然後把root,server_name修改成我們自己的地址

server {
    listen 80;

    root /var/www/Lychee;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name lychee.mydomain;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_param PHP_VALUE "max_execution_time=1800
                                post_max_size=1500M
                                upload_max_filesize=32M
                                max_input_time=1800
                                max_file_uploads=300";
    }

    location ~ /\.ht {
        deny all;
    }
}
複製程式碼

sudo ln -s /etc/nginx/sites-available/lychee /etc/nginx/sites-enabled/

由於我設定了Https,所以需要certbot來生成證照,這樣我們的這個站點就是https協議了

sudo certbot --nginx -d lychee.xxx.com

做完這些之後,重啟Nginx

sudo systemctl reload nginx

配置MySQL:

類似Wordpress我們需要新建一個lychee資料庫

CREATE DATABASE lychee;

新增使用者和密碼

GRANT ALL PRIVILEGES ON lychee.* TO 'userName'@'localhost' IDENTIFIED BY 'user_passwd';

配置PHP:

再接著我們進入/etc/php/7.2/fpm/php.ini,將下面的屬性修改為下面的值(Lychee的推薦)

max_execution_time = 200
post_max_size = 100M
upload_max_filesize = 20M
memory_limit = 256M
複製程式碼

重啟PHP服務

sudo systemctl restart php7.2-fpm.service
複製程式碼

測試:

到現在,我們就完成了所有需要的設定,用瀏覽器開啟你設定的lychee的地址

如果成功了的話會提示你輸入密碼,輸入你剛剛設定的MySQL使用者名稱和密碼

image-20181220193514165

然後我們可以嘗試上傳一個照片,我們可以在Direct Link這裡獲得圖片的連結

image-20181220193724431

到這裡我們就可以將圖片上傳到我們自己的圖床,不再需要擔心blog中的圖片掛掉了。

相關文章