Saya ditanya bagaimana cara menyimpan semua aset media magento di Amazon S3. Saya berpikir untuk menggunakan PHP Stream Wrapper seperti ini: https://github.com/punkave/aS3StreamWrapper dan hanya mengatur folder media ke s3: \ mybucket \ mediaFolder
Apakah ada yang punya pengalaman dengan ini?
Atau lebih baik gunakan sesuatu seperti ini: https://github.com/sstoiana/magento-s3 Tapi ekstensi ini tidak terlihat bagus. Ada rekomendasi lain?
amazon-web-services
media
Fabian Blechschmidt
sumber
sumber
Jawaban:
tampaknya orang-orang ini menemukan solusi: ( http://thinkglobal.co/resources/moving-the-magento-media-directory-to-s3/ )
Ada 2 pendekatan yang mungkin, salah satunya adalah agar Magento mendorong semua aset media ke S3 saat dibuat dan yang lainnya hanya memasang direktori media ke keranjang S3 dan membiarkan Magento berpikir bahwa itu sedang menulis ke disk lokal. Kami memilih yang terakhir.
Kami akhirnya menggunakan alat yang disebut s3fs, yang menggunakan teknologi yang lebih luas yang disebut sekering. Dengan beberapa konfigurasi yang cukup mudah (dijelaskan di bawah), Anda dapat menjalankan dan menjalankan s3fs. Berhati-hatilah untuk tidak mencatat nama bucket S3 atau kredensial akses API jika Anda menggunakan AWS atau penyedia PAAS lainnya.
Pastikan Anda mengganti variabel berikut dengan nilai untuk konfigurasi spesifik Anda:
Ini pengaturannya:
sumber
Ekstensi CDN OnePica sangat berguna untuk fungsi ini dan mendukung lebih dari sekadar S3. Kutipan: "Saat ini, ekstensi terintegrasi dengan Amazon S3, Coral CDN, Mosso / Rackspace Cloud Files, dan CDN, server atau layanan apa pun yang mendukung FTP, FTPS, atau SFTP."
sumber
Perpanjangan CDN OnePica bukanlah solusi yang hanya berfungsi untuk gambar produk, belum lagi Anda perlu mengatur TTL yang benar untuk waktu penyimpanan cache sendiri yang akan habis lebih cepat dari Magento default. Semua gambar cms Anda akan berada di folder media tetapi tidak menggunakan S3, Anda akhirnya akan mengunggah semua gambar media Anda ke S3.
Menggunakan cloudfront akan bagus tetapi Anda masih membutuhkan NFS untuk membagikan folder media Anda di semua node frontend dan backend. Atau Anda perlu membuat antarmuka sendiri untuk menyimpan file di S3, dan Anda juga perlu menangani kesalahan (pikirkan tentang seseorang mengunggah file besar yang ekstrem apakah kode Anda dapat mengatasinya sebelum batas waktu S3 API)
Cara lain cukup simpan penyimpanan media dalam RDS (basis data) tambahan Anda dan gambar cache ukuran ulang secara individual masih akan disimpan di folder media lokal server aplikasi Anda, tetapi tidak apa-apa karena cloudfront akan menyimpannya di cache.
sumber
Saya lebih suka memiliki simpul "admin" yang terpisah (admin.example.com) dan menyimpan folder media di sana. Dengan cara ini Anda akan menghemat biaya NFS serta masalah sinkronisasi dll. CDN apa pun (saya menggunakan cloudfront) kemudian dapat dihubungkan dengan folder media admin node, dan dikonfigurasikan untuk semua toko.
Manfaat lain dari menggunakan admin node adalah, Anda dapat memindahkan semua crons (pengindeksan ulang dan crons lainnya), tugas terjadwal (impor produk, inventaris & sinkronisasi pesanan, dll) di admin node dan menyimpan node frontend pemrosesan cpu.
Sunting: Sebagai jawaban terakhir sebenarnya tidak menjawab pertanyaan OP. Aset Media Magento di Amazon S3? Yah saya percaya Magento sudah mendapatkan begitu banyak pemrosesan overhead, yang saya pikir itu ide yang baik untuk menjaga dari sinkronisasi s3 / streaming, dan menggunakan folder media lokal sebagai gantinya.
sumber
Nah, sekarang setelah beberapa tahun berlalu saya pikir penting untuk dicatat bahwa ada beberapa plugin yang tersedia yang akan memindahkan dan melayani aset dari S3 / CDN.
Pencarian Google menghasilkan banyak opsi.
Inilah satu di GitHub:
https://github.com/magefm/cdn
Inilah satu di pasar Magento's Connect:
http://www.magentocommerce.com/magento-connect/aws-s3-cdn-for-product-images.html
Saya belum mencoba ekstensi khusus ini tetapi akan untuk proyek yang akan datang. Ada orang lain di luar sana juga.
Saya harus tidak setuju dengan @Sonassi, menggunakan penyimpanan terpisah untuk memungkinkan konfigurasi server termurah masih dengan kinerja yang baik benar-benar dianggap praktik terbaik hari ini. Misalnya, cukup gunakan S3 untuk memindahkan semua konten statis dari server web Anda membantu server menggunakan bandwidth yang jauh lebih sedikit dan memungkinkan lebih banyak pengguna secara bersamaan dan lebih sedikit daya server yang dibutuhkan secara keseluruhan. Dan, jika Anda berada di pusat data tunggal seperti kebanyakan orang saat ini, dan mengatakan itu di Dallas, maka tidak ada keraguan bahwa orang-orang di Eropa Barat akan dilayani lebih cepat dengan CDN Global seperti Cloudfront. Jadi, menggunakan penyimpanan terpisah dari server web Anda untuk menurunkan penggunaan bandwidth memungkinkan Anda untuk menggunakan hanya 1 server ketika Anda akan membutuhkan lebih cepat tanpa pendekatan ini, dan menggunakan CDN akan sangat meningkatkan waktu muat global.
sumber
Menemukan ekstensi lain yang dibangun oleh arkadedigital https://github.com/arkadedigital/magento-s3
sumber