نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
در این آموزش می آموزیم که چگونه یک برنامه وب Koa.js را برای تولید و با استفاده از Node.js. تنظیم کنیم. ما همچنین با یک پروکسی معکوس ، از Apache استفاده می کنیم و یک دامنه نمونه را پیوند می دهیم و می آموزیم که چگونه آن را با یک مدیر فرایند مناسب مدیریت کنید. بدون تبلیغ بیشتر ، شروع کنیم.
Node.js یک چارچوب سریع و متقاطع جاوا اسکریپت است که مبتنی بر موتور V8 Chrome است. این نرم افزار در برنامه های دسک تاپ و سرور استفاده می شود و به دلیل کار با حلقه یک رویداد یک رویداد مشهور است. Node.js دارای یک رجیستری بسته به نام Node Package Manager (NPM) است که میزبان بیش از نیم میلیون بسته است. بسته های NPM (یا ماژول ها) ستون فقرات اصلی Node.js هستند ، زیرا آنها کد جامعه محور هستند که می توانند در برنامه Node.js شما مفید باشند. در برنامه Koa.js ما ، Node.js بخش اصلی عملکرد آن است.
Koa.js یک چارچوب وب حداقلی است که بر روی پلت فرم Node.js ساخته شده است. هدف اصلی آن توسط همان تیم در پشت چارچوب محبوب Express.js است ، به حداقل رساندن چارچوب Express.js در حال حاضر حداقلی و با حذف برنامه های میانی از هسته آن. یکی از ویژگی های اصلی Koa.js این واقعیت است که هیچ تماس تلفنی وجود ندارد. Koa.js بر روی ژنراتورهای مبتنی بر ES6 و ویژگیهای ES6 مانند وعده ها ساخته شده است.
Apache یک سرور وب منبع آزاد است که به عنوان یک نقطه شروع بسیار اساسی برای سرورهای وب مورد استفاده قرار می گیرد. در این آموزش از Apache به عنوان یک پروکسی معکوس استفاده خواهیم کرد که به ما امکان می دهد تا برنامه خود را به یک دامنه نمونه پیوند دهیم. اگر دامنه ندارید ، این آموزش همچنان برای شما کار خواهد کرد ، تنها تفاوت این است که وب سایت به جای یک دامنه بر روی IP VPS شما اجرا می شود.
مانند هر چارچوب Node.js ، شما نیاز به نصب Node.js در VPS خود دارید. به خاطر این آموزش ، فرض می کنم که شما قبلاً Node.js را روی سیستم خود نصب کرده اید. اگر اینطور نیست ، می توانید دستورالعمل ها را در اینجا دنبال کنید .
ما نیاز به ایجاد یک پوشه داریم که شامل پرونده های اصلی برنامه ما باشد.
mkdir site
site
هرگونه نام دیگری را که می خواهید برای فهرست قرار دهید جایگزین کنید . در مرحله بعد ، باید فایل بسته Node.js خود را اولیه کنیم. دایرکتوری را که اخیراً ایجاد کرده اید تغییر دهید ، گزینه های مربوطه را اجرا npm init
و تکمیل کنید. در پایان ، باید چیزی شبیه به این باشد:
{
"name": "site",
"version": "1.0.0",
"description": "Koa.js Site",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "yourname",
"license": "ISC"
}
اکنون که دایرکتوری خود را تنظیم کردیم ، می توانیم Koa.js. را نصب کنیم. در فهرست کار فعلی /site
، موارد زیر را تایپ کنید.
npm install koa
این کار ماژول Koa.js را از NPM بارگیری می کند و آن را در فهرست پروژه ما برای استفاده های بعدی نصب می کند. در مرحله بعد ، ما فایل نمونه برنامه خود را ایجاد خواهیم کرد که کد برنامه را در خود نگه می دارد. برای این کار ، یک index.js
پرونده ایجاد کنید.
nano index.js
پس از داخل پرونده ، یک نمونه برنامه ایجاد کنید.
const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
ctx.body = 'Hello World';
});
app.listen(3000);
console.log('Website is live!')
ذخیره کنید و فایل را ببندید. CTRL+ X.
ما می خواهیم اطمینان حاصل کنیم که برنامه ما به درستی اجرا می شود. برای شروع آن ، اجرا node index.js
کنید و Website is live
در کنسول خواهید دید .
اکنون که می دانیم وب سایت ما کاربردی است ، می توانیم به نصب Apache و وابستگی های آن بپردازیم.
sudo apt install -y libapache2-mod-proxy-html libxml2-dev
برای استفاده از ویژگی پروکسی معکوس موجود در Apache ، ما نیاز به فعال سازی ماژول ها داریم.
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_ajp
a2enmod rewrite
a2enmod deflate
a2enmod headers
a2enmod proxy_balancer
a2enmod proxy_connect
a2enmod proxy_html
برخی از این ماژول ها ممکن است قبلاً فعال شده باشند ، اما همیشه بررسی آنها خوب است.
حال باید پیکربندی پیش فرض پیکربندی Apache را ویرایش کنیم.
sudo nano /etc/apache2/sites-enabled/000-default.conf
در اینجا ، ما نیاز به اضافه کردن یک بلوک برای برنامه خود داریم.
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://0.0.0.0:3000/
ProxyPassReverse / http://0.0.0.0:3000
ServerName localhost
</VirtualHost>
فایل را ذخیره کنید ، CTRL+ X.
ممکن است متوجه شوید که ما از پورت 3000
به عنوان درگاه IP ProxyPass
و ProxyPassReverse
IP استفاده می کنیم. از آنجا که همان پورت است که ما برنامه Koa.js خود را اجرا می کنیم ، ضروری است که پورت صحیح را وارد کنیم.
پس از ایجاد تغییرات ، ما نیاز به راه اندازی مجدد Apache و راه اندازی مجدد برنامه Koa.js داریم.
sudo systemctl restart apache2
این کار باعث می شود که هنگام تنظیم برنامه Koa.js ، پرونده پیکربندی ما فعال و آماده کار باشد. پس از راه اندازی مجدد Apache ، دوباره به فهرست دایرکتوری سایت خود بروید و برنامه Koa.js را مانند قبل انجام دهید. از مرورگر وب خود حرکت کنید http://yourdomain
، یا http://yourip:
، و "Hello World" را مشاهده خواهید کرد.
اکنون که ما اصول ایجاد نمونه ای از برنامه Koa.js را پوشش داده ایم ، می فهمیم که در یک محیط تولید ، شروع برنامه به همان شکلی که اکنون هستیم غیر عملی است. مدیر فرایند قطعاً یک نیاز است. اینجاست که systemd وارد بازی می شود. به زبان ساده ، systemd از نرم افزاری تشکیل شده است که بلوک های ساختمانی را برای سیستم لینوکس فراهم می کند. مشابه "init" ، سیستمی را برای مدیریت فرایندهای کاربر پس از راه اندازی سیستم فراهم می کند. در مورد برنامه ما ، systemd به ما امکان می دهد پس از راهاندازی مجدد سیستم ، وب سایت خود را به طور خودکار شروع کنیم ، در صورت بروز رویدادی که باعث به هم خوردن زمان سیستم شود. همچنین مجموعه ای از ابزارهایی را ارائه می دهد که می توانند در هنگام مدیریت برنامه ما مفید واقع شوند. بهترین بخش این واقعیت است که در Ubuntu 16.04 LTS ساخته شده است ، بنابراین نیازی به نصب هیچ نرم افزاری اضافی نداریم.
هر چیزی که برای شروع برنامه خود نیاز داریم در پرونده ای به نام قرار می گیرد service
. جزئیات مربوط به برنامه ما ، مانند نام ، فهرست ، محیط و موارد دیگر را در اختیار دارد. برای ایجاد فایل سیستم ، ویرایشگر متن را باز کنید.
sudo nano /lib/systemd/system/site.service
پرونده را مانند این ویرایش و ذخیره کنید.
[Unit]
Description=desc here
Documentation=https://example.com
After=network.target
[Service]
Environment=NODE_PORT=3000
Type=simple
User=youruser
ExecStart=/usr/bin/node /home/[youruser]/site/index.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
youruser
با نام کاربری سرور خود جایگزین کنید. در اینجا شرح مختصری از زمینه های مهم آورده شده است:
After
- این به سیستم اطلاع می دهد تا قبل از شروع برنامه ما صبر کند تا رابط شبکه آماده شود.Environment
- در اینجا می توانیم متغیرهای محیط را برای برنامه خود مشخص کنیم. درگاه Node.js یکی از آنهاست.Type
- این سیستم را به سیستم اطلاع می دهد که برنامه ما فقط می تواند راه اندازی شود ، بدون آنکه از امتیازات کاربران استفاده کند.User
- این به systemd می گوید که ما می خواهیم برنامه را در زیر حساب کاربری خود اجرا کنیم ، که توصیه می شود. اجرای برنامه های کاربردی به عنوان کاربر اصلی می تواند منجر به سازش های امنیتی زیادی شود.ExecStart
- اساساً فرمانی که systemd برای شروع برنامه ما اجرا می کند ، مشابه آنچه قبلاً آن را به صورت دستی شروع کرده ایمRestart
- به سیستم می گوید که در چه شرایطی مجدداً برنامه خود را راه اندازی کنید. در این حالت ، در صورت بروز خطا می خواهیم وب سایت خود را مجدداً راه اندازی کنیم.اکنون آماده هستیم تا سرویس سیستم خود را شروع کنیم.
sudo systemctl daemon-reload
این کار ضروری است هر زمان که یک فایل سرویس سیستمی تغییر کند تا سیستم از سیستم تغییرات جدیدی را ایجاد کند.
سپس ، درخواست خود را شروع کنید.
sudo systemctl start site
یکبار دیگر به سایت در مرورگر خود بروید تا تأیید کنید که همه چیز کار می کند.
stop
- برنامه را کاملاً متوقف کنید.restart
- برنامه را متوقف کرده و دوباره تحت یک فرآیند جدید شروع می کند.enable
- به systemd می گوید که هر زمان کامپیوتر خود را راه اندازی کنید ، برنامه را شروع کند.status
- اطلاعات مربوط به برنامه در حال اجرا را نشان می دهد ، از جمله به موقع ، حالت برنامه و موارد دیگر.برای استفاده از هر یک از این توابع ، موارد زیر را اجرا کنید.
systemctl <function> site
ما با موفقیت یک برنامه Koa.js را راه اندازی کردیم و یاد گرفتیم که چگونه پروکسی را برگردانید ، و همچنین آن را با systemd مدیریت کنید. اکنون شما آماده هستید تا برنام�� خود را گسترش داده و بر اساس این مثال بنا کنید. اگر می خواهید در مورد Koa.js و کارهای دیگری که می توانید با آنها اطلاعات بیشتری کسب کنید ، برای اطلاعات مفید تر به وب سایت آنها مراجعه کنید . علاوه بر آن ، اگر می خواهید در مورد مدیر فرآیند systemd اطلاعات بیشتری کسب کنید ، مستندات مربوط به آن را در اینجا بخوانید . سرانجام ، اگر می خواهید در مورد پروکسی معکوس آپاچی اطلاعات بیشتری کسب کنید ، در صورت تمایل آنها را از اینجا بررسی کنید .
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 است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد