نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
Supervisor یک سیستم مشتری / سرور است که برای کنترل تعدادی از فرآیندهای UNIX ، به طور خاص فرآیندهای مربوط به یک پروژه یا مشتری استفاده می شود. به عنوان مثال ، می توانید از سرپرست برای تخم ریزی و نظارت بر تعداد دلخواه صف های کارگر برنامه وب خود استفاده کنید.
اجزای این سیستم عبارتند از:
در این آموزش به روزترین نسخه سرپرست را نصب خواهیم کرد ، چگونگی تخم ریزی و مدیریت برنامه ها را از طریق آن ، نشان می دهیم و برای مدیریت برنامه های خود supervisorctl
یک رابط وب پیکربندی می کنیم.
ما easy_install
یک ویژگی سرپوشیده Python را از طریق سرپرست نصب خواهیم کرد .
ابتدا لیست بسته های محلی خود را به روز کنید و سپس Python را نصب کنید setuptools
.
sudo apt-get update && sudo apt-get install python-setuptools
اکنون می توانیم سرپرست نصب کنیم.
sudo easy_install supervisor
پس از اتمام نصب ، باید فایل پیکربندی خود را تولید کنیم. پوشه ای بنام supervisor
داخل ایجاد کنید /etc
.
sudo mkdir /etc/supervisor
و سپس موارد زیر را اجرا کنید.
echo_supervisord_conf > /etc/supervisor/supervisord.conf
اگر با root
کاربر وارد نشده اید ، ممکن است Permission denied
خطایی (حتی با sudo
) وارد کنید. این به دلیل تغییر مسیر است. برای غلبه بر این ، به عنوان root وارد شوید.
sudo su
سپس می توانید دوباره فرمان را اجرا کنید.
echo_supervisord_conf > /etc/supervisor/supervisord.conf
اکنون می توانید root
کاربر را با exit
دستور ترک کنید. echo_supervisord_conf
دستور نصب و راه اندازی سرپرست ما ارائه شد.
/etc/supervisor/supervisord.conf
پرونده را باز کنید و محتویات آن را بررسی کنید. توجه داشته باشید که این پرونده پیکربندی از INI
نحو پیروی می کند و بر اساس بخش ها تقسیم می شود (مانند قسمت های مختلف توسط براکت ها [section-name]
).
برای اضافه کردن برنامه هایی که توسط سرپرست مدیریت می شود ، فقط باید [program]
بخش های مناسبی را ایجاد کنیم . با این وجود ، برای جلوگیری از ایجاد پیام در هر زمان که نیاز به اضافه کردن (یا تغییر) یک برنامه داشته باشیم ، از قسمت پیکربندی اصلی جلوگیری می کنیم [include]
. این بخش را پیدا کنید ، آن را فراموش نکنید و سپس ویرایش کنید تا مانند شکل زیر باشد.
[include]
files=conf.d/*.conf
اکنون برای هر برنامه ای که می خواهیم اضافه کنیم ، یک .ini
پرونده در داخل /etc/supervisor/conf.d/
دایرکتوری ایجاد می کنیم. بیایید این پوشه را ایجاد کنیم.
sudo mkdir /etc/supervisor/conf.d
همانطور که قبلاً اشاره شد ، سرپرست از یک سرور و مشتریانی تشکیل شده است که به آن متصل می شوند. برای اینکه بتوانیم برنامه ها را مدیریت و کنترل کنیم ، باید سرور را شروع کنیم. برای این کار ، سرور ناظر را در systemd
آن ثبت می کنیم تا سرور در هنگام راه اندازی سیستم راه اندازی شود.
برای این کار ، فایلی را ایجاد کنید که supervisord.service
در /etc/systemd/system
فهرست قرار دارد.
sudo touch /etc/systemd/system/supervisord.service
مطالب زیر را به پرونده اضافه کنید.
[Unit]
Description=Supervisor daemon
Documentation=http://supervisord.org
After=network.target
[Service]
ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisor/supervisord.conf
ExecStop=/usr/local/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/local/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
Alias=supervisord.service
سرویس ناظر را فعال کنید.
sudo systemctl start supervisord.service
تا زمانی که پرونده خدمات در /etc/systemd/system
دایرکتوری قرار داشته باشد ، در هنگام راه اندازی سیستم به طور خودکار شروع می شود.
می توانید وضعیت سرویس را بررسی کنید.
systemctl status supervisord.service
همچنین می توانید گزارش ها را بررسی کنید.
sudo journalctl -u supervisord.service
برنامه هایی که توسط سرپرست کنترل می شوند توسط [program]
بخش های مختلفی در پیکربندی ارائه می شوند. برای هر برنامه ای که می خواهیم مدیریت کنیم ، یک پرونده پیکربندی مستقل ایجاد می کنیم که مسیر اجرای دستور را ، هر متغیرهای محیطی ، نحوه انجام در صورت خاموش کردن را اطلاع می دهد.
ابتدا ، اجازه دهید یک اسکریپت ساده ایجاد کنیم که یک timestamp را ثبت کند. فایلی بنام ایجاد کنید hello_supervisor.sh
(در هر کجا که مایل باشید ، ما مسیر کامل این اسکریپت را ارجاع خواهیم داد).
touch hello_supervisor.sh
اکنون ، مطالب زیر را در آن قرار دهید
#!/bin/bash
while true
do
# Echo current timestamp to stdout
echo Hello Supervisor: `date`
# Echo 'error!' to stderr
echo An error ocurred at `date`! >&2
sleep 1
done
اکنون آن را اجرایی کنید
chmod +x hello_supervisor.sh
از نظر عملی این فیلمنامه تقریبا بی فایده است. با این حال ، ما می توانیم از آن برای نشان دادن قدرت ناظر استفاده کنیم. با اجرای موارد زیر ، پرونده پیکربندی مربوطه را ایجاد کنید.
sudo touch /etc/supervisor/conf.d/hello_supervisor.conf
اکنون مطالب زیر را در این پرونده قرار دهید.
[program:hello_supervisor]
command=/home/USER/hello_supervisor.sh
autostart=true
autorestart=true
stderr_logfile=/var/log/hello_supervisor.err.log
stdout_logfile=/var/log/hello_supervisor.out.log
توجه: حتماً USER
نام کاربری خود را جایگزین کنید.
ما این پیکربندی را به صورت مرحله ای بررسی خواهیم کرد.
[program:hello_supervisor]
command=/home/USER/hello_supervisor.sh
ابتدا ، پیکربندی با تعریف برنامه ای از نام hello_supervisor شروع می شود . همچنین مسیر کامل اجرای اجرایی را مطلع می کند.
autostart=true
این خط بیان می کند که این برنامه باید از زمان شروع سرپرست به صورت خودکار شروع شود.
autorestart=true
اگر برنامه به هر دلیلی متوقف شود ، این خط به سرپرست اطلاع می دهد که به طور خودکار روند را مجدداً آغاز کند.
stderr_logfile=/var/log/hello_supervisor.err.log
stdout_logfile=/var/log/hello_supervisor.out.log
این خطوط محل فایل تاریخچه ثبت تعریف برای stderr
و stdout
، به ترتیب.
اکنون که سرپرست نصب و پیکربندی کرده ایم ، می توانیم فرآیندهای خود را مدیریت کنیم.
پس از افزودن یک برنامه جدید ، باید دو دستور زیر را اجرا کنیم ، تا سرور را برای بازخوانی فایلهای پیکربندی و اعمال هرگونه تغییر ، آگاه سازیم.
sudo supervisorctl reread
sudo supervisorctl update
اکنون supervisorctl
مشتری را اجرا کنید .
sudo supervisorctl
با لیستی از پروسس های ثبت شده از شما استقبال می شود. شما یک پروکسی را خواهید دید که hello_supervisor
دارای RUNNING
وضعیت است.
hello_supervisor RUNNING pid 6853, uptime 0:22:30
supervisor>
نوع help
برای یک لیست از دستورات avaialable.
supervisor> help
default commands (type help <topic>):
=====================================
add exit open reload restart start tail
avail fg pid remove shutdown status update
clear maintail quit reread signal stop version
به طور خلاصه، ما می توانیم start
، stop
و restart
برنامه با عبور نام برنامه به عنوان یک شناسه به فرمان مربوطه.
supervisor> stop hello_supervisor
hello_supervisor: stopped
supervisor> start hello_supervisor
hello_supervisor: started
supervisor> restart hello_supervisor
hello_supervisor: stopped
hello_supervisor: started
supervisor>
همچنین می توانیم با tail
دستور به خروجی برنامه نگاهی بیندازیم .
supervisor> tail hello_supervisor
Hello Supervisor: Mon Sep 25 19:27:29 UTC 2017
Hello Supervisor: Mon Sep 25 19:27:30 UTC 2017
Hello Supervisor: Mon Sep 25 19:27:31 UTC 2017
برای stderr
خروجی نیز می توانید از آن استفاده کنید tail
.
supervisor> tail hello_supervisor stderr
An error ocurred at Mon Sep 25 19:31:12 UTC 2017!
An error ocurred at Mon Sep 25 19:31:13 UTC 2017!
An error ocurred at Mon Sep 25 19:31:14 UTC 2017!
با استفاده از status
دستور ، می توانید وضعیت کلیه برنامه های ثبت شده را مشاهده کنید.
پس از اتمام ، می توانید انصراف دهید.
supervisor> quit
برای دسترسی به وب سرور ناظر ، پرونده پیکربندی ناظر را باز کنید و [inet_http_server]
بخش را پیدا کنید.
nano /etc/supervisor/supervisord.conf
اکنون پیکربندی این بخش را با موارد زیر به روز کنید.
[inet_http_server]
port=*:9001
username=your_username
password=your_password
جایگزین کنید your_username
و your_password
با اعتبار مورد نظر خود ، تغییرات خود و سرویس نظارت مجدد را دوباره ذخیره کنید.
sudo systemctl restart supervisord.service
به یاد داشته باشید که اجازه TCP
دسترسی به پورت را 9001
در دیوار آتش خود داده و سپس http://{server-ip}:9001
از مرورگر خود دسترسی پیدا کنید. هنگامی که از شما سؤال شد ، خود username
و password
. اکنون می توانید پروسس های خود را از طریق وب کنترل کنید.
ما به روزترین نسخه سرور را نصب کرده ایم ، یاد گرفته ایم که چگونه آن را برای شروع خودکار سیستم با systemd پیکربندی کنید و همچنین یک استفاده اولیه از آن را مرور کردیم supervisorctl
. برای پیکربندی پیشرفته تر و موارد استفاده از آن ، می توانید به اسناد رسمی سرپرست مراجعه کنید .
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد