-
April 20th, 2020, 10:57
#1
راهنمایی : اجرای دستورات در rc.local در سنتوس 7
سلام
هدف : اجرای خودکار یک برنامه در یک شاخه مشخص بعد از بالا اومدن سنتوس 7 و اجرا برنامه در پس زمینه سرور
دوستان میخوام این دستور در زمان بالا اومدن سرور اجرا بشه و همیشه فعال باشه
npm start
حتما باید در ادرس خودش اجرا بشه یعنی
cd/mibfa/app
npm start
تا برنامه بدرستی کار کنه
هرچی سرچ زدم همش گنگ بود یا بدرستی اجرا نمیشد . دوستانی که تجربه دارن ممنون میشوم راهنمایی کنند . نظر خودم فایل rc.local بود اگر مسر بهتری دارید اعلام کنید
-
-
April 20th, 2020 10:57
# ADS
-
April 20th, 2020, 11:38
#2
عضو انجمن
پاسخ : راهنمایی : اجرای دستورات در rc.local در سنتوس 7
سلام
دو راه داری
1- یا بصورت یک Task و یا Service برای لینوکس از طریق Systemd تعریف کنی ( کمتر پیشنهاد میکنم، چون دقیقا میزان آشناییتون با کامندها رو نمیدونم )
2- از پکیج forever استفاده کنی ( پیشنهاد اصلی ).
لینک پکیج forever که توضیحاتش هم کاملا واضح و راحت هست :
https://www.npmjs.com/package/forever
که بصورت دائمی ران میشه.
معمولا اگر تو پکیج خودتون اشکال خاصی نداشته باشید، بدون خطا این پکیج نصب و کارش رو انجام میده.
راه حل ساده تری هم مثل استفاده از nohup هست که باز بیشتر پیشنهاد میکنم از مورد دوم استفاده کنید.
-
تعداد تشکر ها از sam_pontiac به دلیل پست مفید
-
April 20th, 2020, 13:44
#3
پاسخ : راهنمایی : اجرای دستورات در rc.local در سنتوس 7

نوشته اصلی توسط
mibfa
سلام
هدف : اجرای خودکار یک برنامه در یک شاخه مشخص بعد از بالا اومدن سنتوس 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
اگه مشکلی داشت پیام بدید بررسیش کنم
-
تعداد تشکر ها از hassanshaikhi به دلیل پست مفید