ดูเหมือนว่าคนเหล่านี้จะหาทางออก: ( http://thinkglobal.co/resources/moving-the-magento-media-directory-to-s3/ )
มี 2 แนวทางที่เป็นไปได้หนึ่งวิธีที่วีโอไอพีจะผลักดันเนื้อหาของสื่อทั้งหมดไปที่ S3 นั้นเป็นวิธีที่สร้างขึ้นและอีกวิธีหนึ่งคือการติดตั้งไดเรกทอรีสื่อลงในที่เก็บ S3 และปล่อยให้วีโอไอพีคิดว่าการเขียนลงดิสก์ท้องถิ่น เราเลือกหลัง
เราลงเอยด้วยการใช้เครื่องมือที่เรียกว่า s3fs ซึ่งใช้เทคโนโลยีที่กว้างกว่าที่เรียกว่าฟิวส์ ด้วยการกำหนดค่าที่ค่อนข้างตรงไปตรง (อธิบายไว้ด้านล่าง) คุณสามารถเรียกใช้ s3fs และทำงานได้ ระวังอย่าให้ hardcode S3 bucket ชื่อหรือข้อมูลรับรองการเข้าถึง API หากคุณใช้ AWS หรือผู้ให้บริการ PAAS อื่น ๆ
ตรวจสอบให้แน่ใจว่าคุณแทนที่ตัวแปรต่อไปนี้ด้วยค่าสำหรับการกำหนดค่าเฉพาะของคุณ:
- {{S3_BUCKET}} (ชื่อถัง S3 ของคุณ)
- {{API_PUBLIC_ACCESS_KEY}} (จัดทำโดย AWS)
- {{API_SECRET_ACCESS_KEY}} (จัดทำโดย AWS)
- {{UID}} (รหัสผู้ใช้สำหรับผู้ใช้ nginx / apache)
- {{GID}} (รหัสกลุ่มสำหรับผู้ใช้ nginx / apache)
- {{MOUNTED_DIRECTORY}} (เส้นทางไปยังไดเรกทอรีสื่อวีโอไอพีของคุณ)
นี่คือการตั้งค่า:
yum install -y gcc libstdc++-devel gcc-c++ curl curl* curl-devel libxml2 libxml2* libxml2-devel openssl-devel mailcap
cd /usr/local/src
wget http://downloads.sourceforge.net/project/fuse/fuse-2.X/2.9.3/fuse-2.9.3.tar.gz
tar -xzf fuse-2.9.3.tar.gz
rm -f fuse-2.9.3.tar.gz
mv fuse-2.9.3 fuse
cd fuse/
./configure –prefix=/usr
make
make install
export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib64/pkgconfig/
ldconfig
modprobe fuse
pkg-config –modversion fuse
wget http://s3fs.googlecode.com/files/s3fs-1.74.tar.gz
tar -xzvf s3fs-1.74.tar.gz
rm -f s3fs-1.74.tar.gz
mv s3fs-1.74 s3fs
cd s3fs
./configure –prefix=/usr
make
make install
echo “{{S3_BUCKET}}:{{API_PUBLIC_ACCESS_KEY}}:{{API_SECRET_ACCESS_KEY}}” > ~/.passwd-s3fs
chmod 600 ~/.passwd-s3fs
echo “user_allow_other” > /etc/fuse.conf
echo “s3fs#{{S3_BUCKET}} {{MOUNTED_DIRECTORY}} fuse use_cache=/tmp,allow_other,uid={{UID}},gid={{GID}} 0 0″ >> /etc/fstab
s3fs -o allow_other -o uid={{UID}} -o gid={{GID}} -ouse_cache=/tmp {{S3_BUCKET}} {{MOUNTED_DIRECTORY}}