যখন আপনি বৃদ্ধ এবং বৃদ্ধ হচ্ছেন তখন আপনি করবেন না এইরকম কয়েকটি সাইট এবং ব্লগ হোস্ট করার জন্য একটি সার্ভার আরও বজায় রাখতে চাই না, পুরানো পুরানো সাইটগুলিতেও এনক্রিপ্ট শংসাপত্র পুনর্নবীকরণ করা যায় কিনা তা পর্যবেক্ষণ করুন এবং এর জন্য অন্তত এটি সত্য আমি :) এবং আমি এটিকে কিছু পূর্ণ-পরিচালিত প্ল্যাটফর্মে সরানোর সিদ্ধান্ত নিয়েছি। প্রথম দেখার জন্য Google ক্লাউড স্টোরেজ যথেষ্ট ভাল সমাধান ছিল, কিন্তু বালতি তৈরি করার পরে, এবং সম্পূর্ণ টিউটোরিয়াল থ্রো করার পরে আমি বুঝতে পারি যে https সক্ষম করা সহজ হবে না (লোড ব্যালেন্সার ব্যবহার করে ইত্যাদি) সস্তাও নয় (itâÃÂ) প্রতি ঘন্টায় প্রথম 5 নিয়ম প্রতি $0.025 =>প্রতি মাসে $18) শুধুমাত্র কয়েকটি API-এর জন্য Google ক্লাউড রান ব্যবহার করা হয়েছে এবং এটি শুধুমাত্র ব্যবহৃত সময়/CPU/RAM-এর জন্য অর্থপ্রদান করা হয়েছে, কিন্তু খুব বেশি সক্রিয় ওয়েবসাইট না হলে এমনকি কিছু ওয়েবসাইটকে সম্পূর্ণরূপে হোস্ট করার জন্য ফ্রি টিয়ার যথেষ্ট। বিনামুল্যে ডকুমেন্টেশন পড়ার পরে এটি খুব সহজ দেখায়, এমনকি জিসিপি ক্লায়েন্ট লাইব্রেরি ব্যবহার করার সময় আপনাকে ক্লাউড রান (সম্পূর্ণভাবে পরিচালিত) কন্টেইনার ইনস্ট্যান্সের ভিতরে ম্যানুয়ালি শংসাপত্র সরবরাহ করার দরকার নেই! P.S.: আপনি যদি আপনার নিজের কন্টেইনার স্থাপনের জন্য চূড়ান্ত কোড চান তাহলে অনুগ্রহ করে github.com/kanocz/gclwebgcs দেখুন প্রথমে আমাদের দেওয়া পোর্টে শুনতে হবে PORT env পরিবর্তনশীল: http.ListenAndServe + os.Getenv(âÃÂÃÂPORT শূন্য) মাধ্যমে GCS env আমরা Google ক্লাউড স্টোরেজ বাকেটের নাম নির্দিষ্ট করব (একই প্রজেক্টে থাকতে হবে ctx : = context.Background() ক্লায়েন্ট, err := store.NewClient(ctx) bucket = client.Bucket(os.Getenv(âÃÂÃÂGCS এবং পাঠাতে অবজেক্ট রিডিং: obj := bucket.Object(r.URL.Path[1 // strip firstobjAttrs, err := obj.Attrs(ctx) obj = obj.ReadCompressed(true) // আমরা দান করি হেডারসেট (âÃÂÃÂContent-TypeâÃÂÃÂ, objAttrs.ContentType) // কপি হেডার স্থানান্তরের জন্য এটিকে আবার ডিকম্প্রেস এবং সংকুচিত করতে চাই না w.HeaderSet(âÃÂÃÂContent-EncodingâÃÂÃÂ, objAttrs.ContentEncoding) w.HeaderSet(âÃÂà Content-LengthâÃÂÃÂ, strconv.Itoa(int(objAttrs.Size w.HeaderSet) হেডার সেট ¢ÃÂÃÂETagâÃÂÃÂ, objAttrs.Etag) // এবং ডেটা রিডার পাঠান, err := obj.NewReader(ctx) io.Copy(w, পাঠক) সত্যিই ওয়েবসাইট পরিবেশন করার জন্য আমাদের সার্ভার সূচী প্রয়োজন, ত্রুটিগুলি খুঁজে পাওয়া যায়নি ইত্যাদি পরিচালনা করা প্রয়োজন, তবে এটি এত জটিলও নয় তৈরি করতে ভুলবেন না৷ Google ক্লাউড বিল্ডে সাহায্য করতে go.mod :) কনটেইনার রেজিস্ট্রি এটি স্থাপনের চেয়ে gcloud জমা দেয় --tag gcr.io/project1/gclwebgcs (দয়া করে প্রতিস্থাপন করুন আপনার প্রকল্পের নামের সাথে প্রকল্প1) এবং ব্যবহার করে পরিষেবা তৈরি/আপডেট করুন gcloud beta run deploy --image gcr.io/project1/gclwebgcs \ --platform পরিচালিত --set-env-vars=GCS=GCSbucketName serviceName ফাইল আপলোড করতে ভুলবেন না৷ একই প্রকল্পে GCSbucketName এবং নতুন পরিষেবাতে ডোমেইন নাম বরাদ্দ, ssl সার্টিফিকেট প্রদান করা হবে এবং স্বয়ংক্রিয়ভাবে পরিচালিত হবে! এটিই সব :)