48小時的教訓告訴你如何在七牛ufop下安裝ImageMagick

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

背景

故事是這樣的:

公司系統裡面有一個服務是 PDF2JPG (實際上應該是 PPT2JPG, 只是PPT2PDF這一步驟我們利用七牛的雲端服務來完成。) 早期的時候我們根據系統負載已經實際情況採用了 crontab 來定時擷取資料庫需要轉換的資料。所以這個服務的QPS是 1/60 QPS。是的,你沒看錯就是這麼低,但是用起來還好,畢竟使用者容量不大。

但是隨著使用者規模的增大,我們不得不正視一個問題:就是如何滿足使用者轉換的動態需求 (使用者的需求爆發點一般爆發在晚上6點左右)。正好七牛的 UFOP 能滿足我們的需求。而且還有免費的額度。

    記憶體    CPU    系統硬碟    按需¥/每小時    月計    M0C1    512MB    1 Core    10GB    0.088    63.36    M1C2    1GB    2 Core    10GB    0.176    126.72    M4C8    4GB    8 Core    10GB    0.650    468    M8C12    8GB    12 Core    10GB    1.300    936注意:M0C1的情況下,標準使用者 和 進階使用者 ,有 750 小時/月的免費額度。

我們的規劃是這樣的 在閑時只開啟一個 M1C2 執行個體, 忙時再開啟兩個 M1C2 執行個體。這樣既保證有效性也能保證經濟性

實施

寫七牛的代碼,一定不能只看官方網站的文檔,一定要找他們 github 上的項目 qiniu-ufop-go 、ufop-golang。 不過即使 github 上的也不能全信,有些也是到期的。

只要你記住以上這個,那麼寫代碼根本不算什麼!

部署

很多人以為是最難的代碼都寫了,那麼部署應該是分分鐘的問題。那就看一下下面的血淚圖吧。

七牛採用的是 docker 的方案,自建了更新源,隔離了外網連結。所以安裝一個 ImageMagick 別提有多疼了!

首先需要安裝 libpng , 接著安裝 ghostscript ,然後再安裝 ImageMagick,可是 ImageMagick 死活都找不到 libpng 的路徑,所以沒辦法支援 png。 你必須得先安裝 pkg-config 才行。

完整的 ufop.yaml 代碼如下。

image: ubuntubuild_script: - echo building... - mv $RESOURCE/* ./ - sudo ldconfig /usr/local/lib - tar zxvf pkg-config-0.29.tar.gz > /dev/null - cd pkg-config-0.29 && ./configure --with-internal-glib && make > /dev/null 2>&1 && sudo make install > /dev/null - tar zxvf libpng-1.6.24.tar.gz > /dev/null - cd libpng-1.6.24 && ./configure > /dev/null && make > /dev/null && sudo make install > /dev/null - tar zxvf ghostscript-9.15.tar.gz > /dev/null - cd ghostscript-9.15 && ./configure > /dev/null && make > /dev/null 2>&1 && sudo make install > /dev/null - tar -zxvf ImageMagick.tar.gz > /dev/null - /usr/local/bin/pkg-config --list-all - cd ImageMagick-7.0.3-4/ && ./configure  --enable-shared=yes > /dev/null && make > /dev/null && sudo make install > /dev/null - sudo ldconfig /usr/local/lib - echo "convert -list format" - chmod +x ./runrun: ./run qufop.conf

附上結果圖:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.