نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
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. برای پیکربندی پیشرفته تر و موارد استفاده از آن ، می توانید به اسناد رسمی سرپرست مراجعه کنید .
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.