PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : راهنمایی : اجرای دستورات در rc.local در سنتوس 7



mibfa
April 20th, 2020, 10:57
سلام

هدف : اجرای خودکار یک برنامه در یک شاخه مشخص بعد از بالا اومدن سنتوس 7 و اجرا برنامه در پس زمینه سرور

دوستان میخوام این دستور در زمان بالا اومدن سرور اجرا بشه و همیشه فعال باشه

npm start

حتما باید در ادرس خودش اجرا بشه یعنی
cd/mibfa/app
npm start
تا برنامه بدرستی کار کنه

هرچی سرچ زدم همش گنگ بود یا بدرستی اجرا نمیشد . دوستانی که تجربه دارن ممنون میشوم راهنمایی کنند . نظر خودم فایل rc.local بود اگر مسر بهتری دارید اعلام کنید

sam_pontiac
April 20th, 2020, 11:38
سلام
دو راه داری
1- یا بصورت یک Task و یا Service برای لینوکس از طریق Systemd تعریف کنی ( کمتر پیشنهاد میکنم، چون دقیقا میزان آشناییتون با کامندها رو نمیدونم )
2- از پکیج forever استفاده کنی ( پیشنهاد اصلی ).

لینک پکیج forever که توضیحاتش هم کاملا واضح و راحت هست :
https://www.npmjs.com/package/forever

که بصورت دائمی ران میشه.
معمولا اگر تو پکیج خودتون اشکال خاصی نداشته باشید، بدون خطا این پکیج نصب و کارش رو انجام میده.

راه حل ساده تری هم مثل استفاده از nohup هست که باز بیشتر پیشنهاد میکنم از مورد دوم استفاده کنید.

hassanshaikhi
April 20th, 2020, 13:44
سلام

هدف : اجرای خودکار یک برنامه در یک شاخه مشخص بعد از بالا اومدن سنتوس 7 و اجرا برنامه در پس زمینه سرور

دوستان میخوام این دستور در زمان بالا اومدن سرور اجرا بشه و همیشه فعال باشه

npm start

حتما باید در ادرس خودش اجرا بشه یعنی
cd/mibfa/app
npm start
تا برنامه بدرستی کار کنه

هرچی سرچ زدم همش گنگ بود یا بدرستی اجرا نمیشد . دوستانی که تجربه دارن ممنون میشوم راهنمایی کنند . نظر خودم فایل rc.local بود اگر مسر بهتری دارید اعلام کنید
از طریق rc.local هم میشه اما پیشنهاد نمیشه بهترین روش ایجاد یک سرویس هست که اگه برنامتون ناگهانی بسته هم شد دوباره اجرا بشه.




این دستور بزنید

nano /etc/systemd/system/mibfa.service


بعد اینو داخلش کپی کنید



[Unit]
Description=mibfa service
After=network.target
After=syslog.target


[Service]
ExecStart=/usr/bin/npm start
Restart=always
Type=simple
WorkingDirectory=/mibfa/app


[Install]
WantedBy=multi-user.target


بعد ذخیره کنید
systemctl daemon-reload
systemctl enable mibfa
systemctl start mibfa

بعد اگه همه چیز درست باشه این دستور بزنید باید نشون بده اجرا هست
systemctl status mibfa


اگه مشکلی داشت پیام بدید بررسیش کنم