نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
Hapi.js یک چارچوب غنی ، قوی و قدرتمند Node.js است که برای ساخت برنامه های وب در اکوسیستم Node.js طراحی شده است. طراحی ساده آن شروع کار را آسان می کند. هاپی از بسیاری از جدیدترین ویژگی های JavaScript ES6 در هسته خود ، مانند وعده های ES6 استفاده می کند. برای کسانی از شما که قبلاً از Express استفاده کرده اند ، Hapi به شما امکان می دهد چیز جدیدی را امتحان کنید ، و همه جدیدترین ویژگی های JavaScript را تجربه کنید.
در این آموزش ، هدف ما ایجاد یک صفحه وب اصلی Hapi.js است که از Vultr VPS ما ، در اوبونتو 16.04 LTS میزبانی می شود. برای کسانی که دامنه سایت خود را دارند ، ما از یک پروکسی معکوس برای پیوند دامنه خود به وب سایت خود استفاده خواهیم کرد. در آخر ، ما یاد خواهیم گرفت که چگونه آن را با یک مدیر فرآیند مدیریت کنیم. حالا که این کار را از دست دادیم ، شروع کنیم.
ما نیاز به نصب Node.js. برای انجام این کار در اوبونتو 16.04 LTS ، این دستورالعمل ها را دنبال کنید.
ما باید مخزن NodeSource APT را اضافه کنیم ، که حاوی آخرین نسخه LTS از Node.js.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
ما در حال بارگیری اسکریپتی هستیم که برای اضافه کردن مخزن به فهرست منابع خود و همچنین نصب Node.js از مخزن NodeSource استفاده خواهیم کرد.
علاوه بر نصب خود Node.js ، به نصب ابزارهای ضروری نیز احتیاج خواهیم داشت که به ساخت هر ماژول مورد نیاز برای نصب کمک خواهد کرد.
sudo apt-get install -y build-essential
این به سادگی ابزارهای ساخت را از مخزن بارگیری و نصب می کند.
این کار خوب است که پوشه ای را که ما برای برنامه خود استفاده خواهیم کرد ، تعیین کنیم که شامل تمام داده های برنامه ما ، مانند پرونده های پیکربندی و اسکریپت های راه اندازی شود. یک پوشه ایجاد کنید ، آن را به نام دلخواه خود انتخاب کنید. به خاطر این آموزش ، فرض می کنم شما نام آن را گذاشتید site
.
mkdir site
پس از ساختن پوشه ، اکنون می توانیم آن را تغییر دهیم. با اطمینان از اینکه در دایرکتوری هستید که به تازگی ایجاد کرده اید ، جادوگر بسته NPM را راه اندازی کنید.
npm init
از شما می خواهد موارد مختلفی مانند نام برنامه خود ، پرونده شروع ، پروانه و موارد دیگر را وارد کنید. اکثر زمینه هایی که می توانید بصورت پیش فرض بجز زمینه های واضح تر مانند نام برنامه خود قرار دهید. در پایان ، اینگونه خواهد بود:
{
"name": "site",
"version": "1.0.0",
"description": "Hapi.js site",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "rich",
"license": "MIT"
}
پس از رضایت از نتیجه ، ENTERبرای ذخیره پرونده کلیک کنید .
اکنون که دایرکتوری شما با موفقیت ساخته شد ، اکنون می توانیم نصب Hapi.js. همانطور که قبلاً ذکر شد ، ما از NPM برای بارگیری Hapi.js و همچنین وابستگی های آن برای پروژه خود استفاده خواهیم کرد. در فهرست پروژه ، موارد زیر را اجرا کنید.
npm install hapi.js
این Hapi.js را از NPM بارگیری می کند و آن را در فهرست پروژه ما نصب می کند. در همان اجرا ، هرگونه وابستگی که Hapi.js ممکن است به آن متکی باشد نیز برای راحتی ما بارگیری می شود.
اکنون زمان آن فرا رسیده است که پرونده اصلی برنامه Hapi.js را تنظیم کنیم. این شامل همه کد های ما برای برنامه است. در کنار جاده ، می توانیم کد برنامه خود را گسترش داده و مواردی را که می بینیم به آن اضافه کنیم.
در مرحله بعد ، فایل شروع ما را ایجاد خواهیم کرد. برای تعیین دقیق نحوه نامگذاری پرونده به main
بخش package.json
پرونده خود مراجعه کنید . از آنجا که من از طرح نامگذاری پیش فرض استفاده کردم ، پرونده ما خوانده می شود index.js
.
nano index.js
هنگامی که داخل ویرایشگر متن نانو هستید ، کد برنامه اصلی خود را مانند این ایجاد کنید.
const Hapi=require('hapi');
const server=Hapi.server({
host:'localhost',
port: 3000
});
server.route({
method:'GET',
path:'/',
handler:((request,h)) => {
return 'Sample Hapi.js Application';
}
});
async function start() {
try {
await server.start();
} catch (err) {
console.log(err);
process.exit(1);
}
console.log(`Our server is running! ${server.info.uri}`);
};
start();
ابتدا ماژول Hapi را وارد می کنیم. سپس سازنده سرور خود را که شامل میزبان مورد نظر برای اجرای سرور و همچنین درگاه است ، آغاز می کنیم که 3000
برای این آموزش است. در مرحله بعد ، یک روتر اساسی را تنظیم می کنیم که نشان می دهد هر وقت شخصی به سایت مراجعه کرد ، با یک پیام ساده مورد استقبال قرار می گیرند. برای خاموش کردن همه اینها ، ما یک تابع async داریم ، برای شروع سرور خود ، که به کنسولی که سرور ما در حال کار است ، وارد شوید. پس از اتمام ، پرونده را ذخیره کرده و ببندید ( CTRL+ X)
اکنون که پرونده اصلی ما تنظیم شده است ، ما آماده هستیم تا برنامه خود را شروع کنیم.
node index.js
اگر Our server is running!
در کنسول " " را ببینید ، سرور با موفقیت شروع به کار کرد.
از آنجا که Nginx در مخازن پیش فرض اوبونتو موجود است ، نصب ساده است. به سادگی لیست بسته های خود را به روز کنید و آن را نصب کنید.
sudo apt update
sudo apt install nginx -y
پس از تازه کردن لیست های بسته بندی ، Nginx و وابستگی های آن نصب خواهد شد.
برای اینکه Nginx بتواند پروکسی را تغییر دهد ، باید یک فایل پیکربندی ایجاد کنیم. این پرونده پیکربندی اطلاعاتی در مورد برنامه ما ، که Nginx برای پروکسی معکوس استفاده خواهد کرد ، در اختیار شما قرار خواهد داد.
پیکربندی پیش فرض را که Nginx ایجاد کرده است حذف کنید ، زیرا بعداً آن را جایگزین آن می کنیم.
sudo rm /etc/nginx/sites-enabled/default
یک پرونده جدید در sites-available
پوشه ایجاد کنید. در مورد نامگذاری ، ما می توانیم به سادگی site
، ساده تر بمانیم .
sudo nano /etc/nginx/sites-available/site
در پرونده موارد زیر را بچسبانید و ذخیره کنید.
server {
listen 80;
location / {
proxy_set_header X-Real-IP
$remote_addr;
proxy_set_header
X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header Host
$http_host;
proxy_set_header
X-NginX-Proxy true; proxy_pass
http://127.0.0.1:3000/;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade
$http_upgrade;
proxy_set_header Connection
"upgrade";
proxy_redirect off;
proxy_set_header
X-Forwarded-Proto $scheme;
}
}
در این پرونده ، ما به نگین می گوییم که به درگاه گوش دهد 80
. ما همچنین گذرگاه پروکسی را به localhost
آدرس و پورت تنظیم می کنیم 3000
که همان درگاه برنامه Hapi ما است.
اکنون می توانید دوباره به فهرست برنامه خود بروید و سایت را راه اندازی کنید. پس از راه اندازی سایت ، به سادگی به " http://yourdomain.com
یا" بروید http://yourip
، و متن را می بینید " Hello World
".
PM2 را می توان در مخزن NPM یافت و شما می توانید آن را در سطح جهان نصب کنید تا مانند هر مکان در دسترس باشد.
sudo npm install pm2 -g
-g
پرچم در پایان نشان می دهد که ما می خواهیم به نصب ماژول به پوشه ماژول های جهانی است، که به ما اجازه خواهد به استفاده از آن در خارج از دایرکتوری پروژه ما است. این برای اینکه پروژه ما مانند یک برنامه عادی سیستم رفتار کند ، استفاده می شود.
پس از نصب PM2 ، دوباره به فهرست پروژه خود بروید. نحو شروع برنامه ما اکنون کمی متفاوت خواهد بود. اینگونه است که ما با PM2 این کار را خواهیم کرد.
pm2 start index.js --name site
ما از تابع شروع PM2 استفاده می کنیم ، که اساساً نمایه ای را برای برنامه ما ایجاد می کند ، تحت این نام site
. پس از اجرای آن فرمان ، وب سایت شما شروع می شود اما متوجه می شوید که سیاههها نشان داده نمی شوند. دلیلش این است که روشی که اکنون مشاهده می کنیم سیاههها متفاوت است.
pm2 logs site
حتی می توانید با این --lines
استدلال چند خط سیاهه را که می خواهید ببینید ، تعیین کنید .
شما با موفقیت یک سرور وب Hapi.js را راه اندازی کرده اید ، آن را معکوس کرده و با Nginx پراکنده کرده اید و یاد گرفته اید که چگونه می توانید با PM2 بهتر مدیریت کنید. با استفاده از این دانش ، می توانید بیشتر در این آموزش گسترش داده و یک برنامه بسیار پیشرفته Hapi.js بسازید. برای کسب اطلاعات بیشتر در مورد امکانات Hapi ، به اسناد رسمی آنها مراجعه کنید . اگر می خواهید در مورد امکانات PM2 اطلاعات بیشتری کسب کنید ، به راهنمای شروع سریع آنها مراجعه کنید .
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 است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد