Supervisor ব্যবহার করে যখন root ব্যবহারকারী ছাড়া অন্য কোনো ব্যবহারকারী হিসেবে deno কমান্ড চালানো হয়, তখন npm ক্যাশের অনুমতির কারণে একটি ত্রুটি দেখা দেয়।
নমস্কার, আমি অদক্ষ।
Supervisor ব্যবহার করে যখন root ছাড়া অন্য কোনো ব্যবহারকারী হিসেবে শুরু করা হয়, তখন user= দিয়ে নির্দিষ্ট করা যায়, কিন্তু কোনো কারণে একটি ত্রুটি দেখা দিয়েছে।
কারণ হলো, মনে হচ্ছে ক্যাশের কারণে সমস্যা হচ্ছে, এবং Supervisor দিয়ে শুরু করার সময় পরিবেশ ভেরিয়েবল root ব্যবহারকারীর জন্য থাকে, তাই পরিবেশ ভেরিয়েবল পাস করতে হবে। কিন্তু যেহেতু এক্সিকিউশন কমান্ডটি deno, তাই কোন ক্যাশ ব্যবহার করা হচ্ছে? এটি আমি এভাবে নিশ্চিত করতে পেরেছি। ./node_modules শুধু এটিই নয়, তাই যখন deno কমান্ড বেশ ব্যবহার করা হয়, তখন deno দিয়ে npm সম্পদ ব্যবহার করার সচেতনতা কিছুটা হারিয়ে গিয়েছিল।
$ npm config get cache
/home/haturatu/.npm
এবং এই পরিবেশ ভেরিয়েবলগুলো এভাবে একসাথে পাস করা যায়:
environment=DENO_INSTALL="/home/haturatu/.deno",PATH="/home/haturatu/.deno/bin:/home/haturatu/.cargo/bin:/home/haturatu/.npm-global/bin:$PATH",HOME="/home/haturatu"
এটি deno-এর CMS-এর জন্য। cargo-এর তথ্য পাস করার প্রয়োজন নেই, তবে আমি এই পরিবেশ ভেরিয়েবল স্পেসিফিকেশন অন্য কাজেও ব্যবহার করতে চাই, তাই এটি রেখে দেব। তাহলে এটি দেখতে এমন হবে:
[program:adminblog]
command=deno task lume cms --location=http://localhost:3001
user=haturatu
directory=/var/www/html/soulmining
autostart=true ; সার্ভার চালু হলে স্বয়ংক্রিয়ভাবে প্রক্রিয়া শুরু করুন
autorestart=true ; প্রক্রিয়া শেষ হলে স্বয়ংক্রিয়ভাবে পুনরায় শুরু করুন
stderr_logfile=/var/log/adminblog.err.log ; স্ট্যান্ডার্ড এরর লগ ফাইলের অবস্থান
stderr_logfile_maxbytes=1MB ; লগ ফাইলের সর্বোচ্চ আকার
stdout_logfile=/var/log/adminblog.out.log ; স্ট্যান্ডার্ড আউটপুট লগ ফাইলের অবস্থান
stdout_logfile_maxbytes=1MB ; লগ ফাইলের সর্বোচ্চ আকার
stdout_logfile_backups=0 ;পুরানো লগ ফাইল সংরক্ষণ করবেন না
stderr_logfile_backups=0 ;পুরানো এরর আউটপুট লগ ফাইল সংরক্ষণ করবেন না
environment=DENO_INSTALL="/home/haturatu/.deno",PATH="/home/haturatu/.deno/bin:/home/haturatu/.cargo/bin:/home/haturatu/.npm-global/bin:$PATH",HOME="/home/haturatu"
উল্লেখ্য, directory নিয়ে আমার একটু অস্বস্তি আছে, তবে এটি এই সার্ভারটি তৈরি করার সময় থেকে চলে আসা একটি অবশেষ, তাই কিছু করার নেই।
সঠিকভাবে করতে হলে সম্ভবত /var/www/soulmining হবে।
তাহলে এখনকার মতো।
আবার দেখা হবে।