Mundarija:

Node.js, Express va MongoDB bilan Raspberry Pi -da qanday veb -sayt yaratish mumkin 1 -qism: 6 qadam
Node.js, Express va MongoDB bilan Raspberry Pi -da qanday veb -sayt yaratish mumkin 1 -qism: 6 qadam

Video: Node.js, Express va MongoDB bilan Raspberry Pi -da qanday veb -sayt yaratish mumkin 1 -qism: 6 qadam

Video: Node.js, Express va MongoDB bilan Raspberry Pi -da qanday veb -sayt yaratish mumkin 1 -qism: 6 qadam
Video: [Meetup] REX : Une app' sur borne interactive avec Vue.JS et Electron 2024, Noyabr
Anonim
Node.js, Express va MongoDB yordamida Raspberry Pi -da qanday veb -sayt yaratish mumkin … 1 -qism
Node.js, Express va MongoDB yordamida Raspberry Pi -da qanday veb -sayt yaratish mumkin … 1 -qism

Mening node.js veb -ilovasi qo'llanmasining 1 -qismiga xush kelibsiz. 1 -qism node.js ilovasini ishlab chiqish, portni uzatishni qanday ishlatish, Express yordamida dasturni yaratish va ilovangizni ishga tushirish uchun zarur bo'lgan dasturiy ta'minotdan o'tadi. Ushbu qo'llanmaning ikkinchi qismi mening to'liq veb -ilovamning barcha kodlari va tuzilishini ko'rib chiqadi. Agar siz bunga tayyor bo'lsangiz, bu erga tashrif buyuring.

Shunday qilib, men o'z shaxsiy sahifamni yaratayotganda, begona o'tlardan qutulish juda qiyin edi. Internetda veb -sahifa yaratish haqida men tushunganimdan ham ko'proq narsa bor.

Bu Node.js, Express va Mongodb -dan qanday foydalanish haqida. veb -sahifa yaratish uchun.

Bularning barchasi uchun kod bu erda.

Mening veb -sahifam Internet deb nomlanadi. Shaxsiy veb -saytga interaktiv qarashni istasangiz, tashrif buyuring.

Men bu sahifani Internetda o'z loyihalarim bilan ishtirok etish uchun boshladim, batafsilroq ma'lumot olish uchun ko'rsatmali loyihalarimga havolalar.

Bu sayt mening uyimda, nol Vt -da joylashgan.

1 -qadam: Sizga kerak bo'lgan narsalar

Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar

1. Vaqt. Shuni ta'kidlay olmaymanki, saytni ishlab chiqish va uning ichki ishini tushunish - uzoq davom etadigan jarayon. Men elektrotexnika bo'yicha diplomga egaman, mikroelektronikaga e'tibor qarataman va kodlashni yaxshi ko'raman va buni amalga oshirishim uchun hali bir necha oy kerak bo'ldi.

Ushbu qo'llanma yaxshi qurilish materiali bo'ladi, lekin har bir qismni tushunish uchun ko'proq hujjatlarni Internetda o'qing.

2. Raspberry pi - har qanday model qiladi. Bundan tashqari, Linux bilan ishlaydigan har qanday kompyuter ishlaydi. Aslida, har qanday kompyuter bajaradi, men uni pi -da qanday ishlatish haqida batafsilroq ma'lumotga ega bo'laman.

3. Internetga ulanish - agar siz buni dunyoga mezbonlik qilmoqchi bo'lsangiz. Portni uzatishni sozlash uchun yo'riqnoma yoki tarmoq kommutatori kerak.

4. Dasturiy ta'minot - Har qanday kodlash platformasi ishlaydi, Sublime, Webstorm, Notepadd ++, Visual Studios yoki boshqa biror narsa. Men asosan Webstorm yoki Sublime -dan foydalanardim.

2 -qadam: Raspberry Pi -da portni yo'naltirish

Raspberry Pi -da portni yo'naltirish
Raspberry Pi -da portni yo'naltirish
Raspberry Pi -da portni yo'naltirish
Raspberry Pi -da portni yo'naltirish

Shunday qilib, siz allaqachon malina pi ni o'rnatgansiz deb o'ylayman. Agar yo'q bo'lsa, bu oson qo'llanmani bu erda ko'ring.

Mening pi Jessie Lite -ni ishga tushiradi va barchasi terminalda. Buning foydasi shundaki, menda fonda ishlaydigan jarayonlar ko'p emas, bu mening serverimni yuqori trafik bilan sekin ishlashiga olib kelishi mumkin. Ayting -chi, bu o'quv qo'llanma trafik darajasi past bo'lgan saytlar uchun. Trafik ko'p bo'lgan har qanday sayt sekinlashadi va serveringiz ishdan chiqishiga olib kelishi mumkin.

Portni qayta yo'naltirish

Pi o'rnatilgandan so'ng, siz yo'riqnoma yoki kommutatorda portni yo'naltirishni yoqishingiz kerak bo'ladi. Buni amalga oshirish uchun yo'riqnoma orqali portni yo'naltirish sozlamalarini toping. Har bir yo'riqnoma boshqacha, men bu erda Linksys Velop GUI -ni ko'rsataman.

Mening saytim 3000 portga sozlangan, uni app.js yoki www faylidagi manba kodida o'zgartirish mumkin.

Menda 22 -sonli port ham bor, shuning uchun men pi -ga SSH kirita olaman, uni pi sozlamalarida sozlash mumkin. SSH - bu pi tarmog'idagi terminaldan bir xil tarmoqqa ulanmagan holda, shuningdek, pi chiqish displeyidan foydalanmasdan foydalanish usuli. Bu menga veb -saytimni boshqa kompyuterdan yangilash va o'zgarishlarni pi -ga kiritish imkonini beradi.

Portni yo'naltirishni sozlash uchun rasmlarga rioya qiling.

DNS xizmati

Sizga IP -manzilingizni veb -manzil nomi bilan bog'laydigan xizmat kerak bo'ladi. Siz saytingizga kirish uchun yo'riqnoma raqamlariga global IP -manzilni, keyin esa port raqamini kirita olasiz. Bu, ayniqsa, sizning global ipingiz o'zgarganda juda qiyin. DNS xizmati - bu o'zgarishlarni kuzatib borish va yangilash, shuning uchun sizning veb -nomingiz va ipingiz bog'langan. Men no-ip orqali bepul xizmatdan foydalanishni tanlayman. Siz xohlagan narsangiz uchun pul to'lashingiz mumkin. Bu men biladigan bepul usul.

www.noip.com/

3 -qadam: Pi -ga kerakli dasturiy ta'minotni o'rnatish

Pi -ga kerakli dasturiy ta'minotni o'rnatish
Pi -ga kerakli dasturiy ta'minotni o'rnatish
Pi -ga kerakli dasturiy ta'minotni o'rnatish
Pi -ga kerakli dasturiy ta'minotni o'rnatish
Pi -ga kerakli dasturiy ta'minotni o'rnatish
Pi -ga kerakli dasturiy ta'minotni o'rnatish
Pi -ga kerakli dasturiy ta'minotni o'rnatish
Pi -ga kerakli dasturiy ta'minotni o'rnatish

Agar siz mening GitHub kodimni yuklagan bo'lsangiz, saytni ishga tushirish uchun oddiy npm start buyrug'ini bajarishdan boshqa hech narsa qilishingiz shart bo'lmaydi. Ammo, bu batafsil qo'llanma bo'lgani uchun, men kerakli dasturlar va paketlarni qanday o'rnatishni tushuntiraman.

Sizning pi yoki Linux kompyuteringizda (oynalarni ishlatish uchun har xil buyruqlar bo'ladi) quyidagi buyruqlarni bajaring.

Men ularni bajarishni osonlashtirish uchun alohida qadamlar sifatida ajratdim.

1. node.js va npm ni o'rnating

Node.js - bu asosan serverni yaratadigan java skriptidir. NPM-bu tugunlar to'plami menejeri va node.js. bilan zarur bo'lgan barcha vositalarni boshqaradi.

O'rnatish uchun Linux yoki mac mashinasida quyidagi buyruqlarni bajaring.

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash sudo apt -get install -y nodejs

Windows -ni yuklab olish uchun bu erda topilgan exe -dan foydalaning.

Bu havola, agar malina pi bo'lmasa, linux yordami uchun.

2. MongoDB -ni o'rnating

MongoDB - bu ma'lumotlar bazasi. Men buni veb -sahifamning kirish va trafik hisoblagichi qismi uchun ishlataman.

O'rnatish uchun Linux yoki mac mashinasida quyidagi buyruqlarni bajaring.

sudo apt-key adv --keyserver hkp: //keyserver.ubuntu.com: 80-recv 0C49F3730359A14518585931BC711F9BA15703C6

echo "deb https://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

sudo apt-get yangilanishi

sudo apt-get install -y mongodb-org

Windows -ni yuklab olish uchun bu erda topilgan exe -dan foydalaning.

Bu havola, agar malina pi bo'lmasa, linux yordami uchun.

3. Grunt -ni o'rnating

Grunt npmga o'xshaydi, chunki siz uni boshqa plaginlar bilan birgalikda ishlatishingiz mumkin. Men uni ilovam uchun ishlatmayman, lekin bu vazifalarni avtomatlashtirishda juda foydali. Sizning ilovangiz ishlashi uchun bu qadamni butunlay o'tkazib yuborish mumkin.

Windows, mac yoki Linux uchun quyidagi buyruqdan foydalaning.

npm o'rnatish -g grunt -cli

4. Express -ni o'rnating

Express - bu tugun js ramkasidan foydalanishning oson usuli. Biz tezkor generatorni o'rnatamiz. Bu veb -ilovadan foydalanish uchun qulay asos yaratadi.

Windows, mac yoki Linux uchun quyidagi buyruqdan foydalaning.

npm ekspres -generatorini o'rnating -g

4 -qadam: Express Node.js ilovasini yarating

Express Node.js ilovasini yarating
Express Node.js ilovasini yarating
Express Node.js ilovasini yarating
Express Node.js ilovasini yarating

Ilovani joylashtirmoqchi bo'lgan papkaning manziliga o'ting. Bu yerga kelgandan so'ng, kelajakdagi barcha o'rnatishlar shu papkada bo'ladi.

Katalogni o'zgartirish uchun Linux yoki mac mashinasida quyidagi buyruqlarni bajaring.

sudo cd/home/pi/myapp

Windows uchun:

cd C: / Users / pi / Desktop / myapp

JS tugunini yaratish uchun tezkor generatordan foydalaning.

ilovaning nomini bildiring

Bu yalang'och ekspres node.js loyihasini yaratadi, siz bu bosqichda -h buyrug'i yordamida quyida ko'rsatilgan turli buyruqlarni topib, uning xususiyatlarini o'zgartirishingiz mumkin. Yoki men yaratgan shablonni qo'lda tahrir qilishingiz mumkin. Men buni 2 -qismda batafsil muhokama qilaman. Siz html, rulda, jade va boshqalarni ishlatish kabi ilovangiz sozlamalarini o'zgartirish uchun ushbu kodga boshqa o'zgaruvchilarni qo'shishingiz mumkin. Buning uchun buyruqni bajaring:

ekspress -h

Quyidagi buyruqlarni bajarib node.js veb -ilovasini sozlashni davom eting:

cd nameofmyapp

npm o'rnatish

Bu sizning node.js veb -ilovasi ishlashi kerak bo'lgan va undan ko'p boshqa paketlarni o'rnatadi.

Ushbu misolda dasturning fayl yo'li quyidagicha bo'ladi:

/home/pi/myapp/nameofmyapp

Buning sababi shundaki, ekspress generator siz undan keyin joylashtirgan satr asosida fayl yaratadi. Agar siz allaqachon kerakli katalogda bo'lsangiz, express -dan foydalaning.

5 -qadam: Internet -ilovangizni ishga tushiring

Veb -ilovangizni ishga tushiring
Veb -ilovangizni ishga tushiring
Veb -ilovangizni ishga tushiring
Veb -ilovangizni ishga tushiring

Node.js veb -ilovasini ishga tushirish uchun buyruqni bajaring:

npm boshlanishi

Kodlashda uni yanada samaraliroq qilish uchun, biz o'zgartirish kiritganimizdan so'ng dasturimiz avtomatik ravishda yangilanadi, biz nodemonni o'rnatamiz.

npm o'rnatish -g nodemon

Bu erda ko'pchilik darsliklar sizga qurilishni maroqli o'tkazishni aytadi va sizni qattiq oyoq ishini aniqlab beradi. Keyingi bosqichlarda men sizga o'z ilovamni qanday tuzganimni aytib beraman.

6 -qadam: Kredit

Haqiqatan ham qadam emas, lekin men ushbu darslik uchun o'z manbalarimni va ilhomimni sanab o'tmoqchiman.

Bu Github ReadMe bizning katta dizayn loyihamiz ustida ishlayotgan paytda yaxshi do'stimiz tomonidan yozilgan va u mening saytimni qanday yaratishda ilhom bag'ishlagan.

github.com/SDP-DT04/Web-Application/blob/m…

Ushbu qo'llanma veb -ilovalarni yaratish jarayonida yordamchi vosita bo'ldi.

kroltech.com/2013/12/29/boilerplate-web-app…

Node.js sayti haqida qo'shimcha ma'lumot olish uchun mening 2 -bo'limimga tashrif buyuring.

Tavsiya: