Node.js lietotņu izvietošanai nevajadzētu radīt grūtības. Iestatiet savu Express.js serveri un izmantojiet Render rentablu un lietotājam draudzīgu platformu.
2022. gada beigās uzņēmums Heroku pārtrauca savu bezmaksas līmeņa iespēju, kā rezultātā savā ekosistēmā tika noņemts iepriekš pieejamais bezmaksas tīmekļa mitināšanas un citu mākoņpakalpojumu abonēšanas plāns.
Bezmaksas līmeņi ir īpaši ērti un rentabli, ja plānojat izvietot un mitināt lietojumprogrammas īsu laiku. Par laimi, ir alternatīva mākoņa platforma, kas, tāpat kā Heroku, piedāvā bezmaksas mākoņpakalpojumu līmeni, kā arī citas priekšrocības.
Šajā rakstā mēs izpētīsim, kā izvietot Express.js REST API pakalpojumā Render — mākoņa hostinga platformā.
Kas ir Render?
Render ir mākoņa mitināšanas platforma, kas nodrošina nemanāmu un bez problēmām mākonī izvietot un pārvaldīt statiskas vietnes, pilnvērtīgas tīmekļa lietojumprogrammas, aizmugursistēmas API vai datu bāzes. Funkcijas ietver:
- Lietotājam draudzīgs interfeiss: Render nodrošina vienkāršu un intuitīvu saskarni, kas vienkāršo tādu lietojumprogrammu izvietošanas procesu, kas izveidotas, izmantojot populāras programmēšanas valodas, piemēram, Python un Node.js.
- Iebūvētas datu bāzes: Render piedāvā iebūvētu atbalstu tādām populārām datu bāzēm kā PostgreSQL, MySQL un MongoDB, padarot to viegli iestatīt un integrēt datu bāzes lietojumprogrammās, neizveidojot atsevišķu datu bāzi serveriem.
- Nevainojama izvietošanas darbplūsma: Render nodrošina tādas funkcijas kā automatizēta izvietošana, atcelšana un integrācija ar tādiem populāriem pakalpojumiem kā GitHub un GitLab.
- Pielāgoti domēni un SSL: Render piedāvā iespēju konfigurēt pielāgotus domēna nosaukumus vietnēm un tīmekļa lietojumprogrammām, un tajā ir iekļauti bezmaksas SSL sertifikāti drošai HTTPS piekļuvei.
Salīdzinājums starp Renderu un Heroku
Tāpat kā citām mākoņu platformām, Render ir savas priekšrocības un trūkumi. Bet kā to var salīdzināt ar tādiem populāriem mākoņa risinājumiem kā Heroku?
- Vienkāršība: Render nodrošina lietotājam draudzīgu saskarni lietojumprogrammu izvietošanai un pārvaldībai, koncentrējoties uz lietošanas ērtumu un minimālu konfigurāciju.
- Automatizēta mērogošana: Renderētājs automātiski mērogo lietojumprogrammas, pamatojoties uz pieprasījumu, neprasot manuālus pielāgojumus vai sarežģītu konfigurāciju.
- Rentabilitāte: Render piedāvā rentablu cenu noteikšanu, kas ietver bezmaksas līmeni atsevišķiem projektiem un salīdzinoši zemas cenas komandām un organizatoriskie plāni, padarot to par budžetam draudzīgu iespēju gan maza mēroga tīmekļa lietojumprogrammu, gan lielu reklāmu mitināšanai projektus.
- Ierobežota elastība: tā vienkāršība un minimālā konfigurācija var būt ierobežojums progresīviem un sarežģītiem projektiem, kuriem nepieciešama lielāka pielāgošana un mitināšanas vides kontrole.
Iestatiet jaunu projektu renderēšanā
Lai sāktu, dodiet virsrakstu uz Rendera vietne un reģistrējieties un piesakieties savā kontā.
Render ļauj viegli izvietot un pārvaldīt aizmugursistēmas API, piedāvājot iebūvētu atbalstu populārām programmēšanas valodām un tīmekļa pakalpojumiem, kas racionalizē izvietošanas procesu.
Šajā rokasgrāmatā tiks izmantota tā tīmekļa pakalpojumu funkcija, lai izvietotu Express.js REST API. Lai turpinātu darbu, vispirms Renderā ir jāiestata PostgreSQL datu bāzes gadījums.
Pārskata lapā noklikšķiniet uz Jauns PostgreSQL pogu, lai iestatītu jaunu gadījumu.
Pēc tam ievadiet savas datu bāzes nosaukumu un noklikšķiniet uz Izveidot datu bāzi. Visbeidzot nokopējiet Iekšējās datu bāzes URL nodrošināta. Jūs to izmantosit, lai konfigurētu savienojumu starp Express REST API un PostgreSQL datu bāzi.
Būtībā iekšējās datu bāzes URL tiek izmantots, lai izveidotu savienojumu starp lietojumprogrammām, kas darbojas Render serveros, piemēram, izvietoto API vai pilnvērtīgu tīmekļa lietojumprogrammu.
Tomēr, ja vēlaties izmantot PostgreSQL datu bāzi tikai no lietojumprogrammas, kas izvietota citā platformā, varat izmantot Ārējās datu bāzes URL lai konfigurētu datu bāzes savienojumu.
Izveidojiet Express.js REST API
Uz priekšu un izveidot Express.js tīmekļa serveri. Pēc tam instalējiet šādas pakotnes:
npm instalēt pg knex
Jūs varat atrast šī projekta kodu GitHub repozitorijs.
Konfigurējiet datu bāzes savienojumu
Lai iestatītu savienojumu starp Express.js API un Render's PostgreSQL gadījumu, projekta mapes saknes direktorijā izveidojiet db.js failu un pievienojiet tālāk norādīto kodu.
konst knex = pieprasīt('knex');
konst db = knex({
klients: 'lpp',
savienojums: {
savienojuma virkne: "bāzes URL",
ssl: {
noraidītNeatļauts: viltus
}
}
});modulis.eksports = db;
Pēc tam atveriet index.js failu un pievienojiet kodu zem tā ievieš vienkāršu REST API ar četriem maršrutiem.
konst izteikt = pieprasīt("izteikt");
konst lietotne = express ()
konst db = pieprasīt('./db')
konst PORT = process.env. OST || 5000app.use (express.json())
app.use (express.urlencoded({ pagarināts: taisnība }))app.get('/', (req, res) => res.send('Sveika pasaule!' ))
// Iegūstiet visus lietotājus
app.get('/lietotāji', asinhrons (req, res) => {
mēģināt {
konst lietotāji = gaidīt db.select().from('lietotāji')
res.json (lietotāji)
} noķert (kļūda) {
konsole.error (kļūda)
res.status(500).json({ ziņa: "Kļūda, izgūstot lietotājus" })
}
})
app.post('/lietotāji', asinhrons (req, res) => {
mēģināt {
konst lietotājs = gaidīt db('lietotāji').insert({ nosaukums: req.body.name }).returning('*')
res.json (lietotājs)
} noķert (kļūda) {
konsole.error (kļūda)
res.status(500).json({ ziņa: "Kļūda, veidojot lietotāju" })
}
})// Esoša lietotāja dzēšana
app.delete('/lietotāji/:id', asinhrons (req, res) => {
mēģināt {
konst {id} = req.params
konst lietotājs = gaidīt db('lietotāji').where({ id }).delete().returning('*')
res.json (lietotājs)
} noķert (kļūda) {
konsole.error (kļūda)
res.status(500).json({ ziņa: "Kļūda, dzēšot lietotāju" })
}
})
app.listen (PORT, () => konsole.log(`Serveris pie PORT:${PORT}`))
Iestatiet failu migrate.js
Izveidojiet jaunu mapi, skripti, sava projekta saknes direktorijā pievienojiet jaunu failu, migrate.js, un visbeidzot pievienojiet tālāk norādīto kodu:
konst db = pieprasīt("../db");
(asinhrons () => {
mēģināt {
gaidīt db.schema.dropTableIfExists('lietotāji')
gaidīt db.schema.withSchema("publisks").createTable('lietotāji', (tabula) => {
table.increments()
table.string('vārds')
})
konsole.log('Izveidota lietotāju tabula!')
process.exit(0)
} noķert (kļūda) {
konsole.log (kļūda)
process.exit(1)
}
})()
Šis kods izveidos jaunu lietotājiem tabulu datu bāzē ar divām kolonnām: automātiski pieaugošu primārās atslēgas lauku un nosaukuma lauku.
Visbeidzot pievienojiet šīs komandas savam pack.json failu.
"skripti": {
"sākt": "mezgls index.js",
"migrēt": "node scripts/migrate.js",
},
Visbeidzot, lai datu bāzē izveidotu lietotāja tabulu, jums ir jāpalaiž migrate.js failu kā skriptu savā terminālī, izmantojot tālāk norādīto komandu.
npm palaist migrēt
Tomēr pirms komandas palaišanas noteikti izgūstiet Ārējās datu bāzes URL no Render's PostgreSQL instances iestatījumu informācijas un ielīmējiet to db.js failu kā savienojuma virkni.
Tādējādi tiks izveidots savienojums ar datu bāzes gadījumu no jūsu vietējā datora, ļaujot jums izveidot tabulu pirms API izvietošanas. Kad tabula ir izveidota, varat pāriet uz Render's PostgreSQL gadījumu un izgūt Iekšējās datu bāzes URLun atjauniniet db.js attiecīgi failu.
Izvietojiet REST API pakalpojumā Render
Pirmkārt, izveidojiet jaunu repozitoriju vietnē GitHub un nospiediet projekta kodu. Pēc tam piesakieties savā Render kontā un noklikšķiniet uz Jauns+ pogu un atlasiet Web pakalpojums opciju nolaižamajā izvēlnē.
Visbeidzot, piekļūstiet savam GitHub kontam, atlasiet sava projekta repozitoriju un izveidojiet savienojumu ar to pakalpojumā Render.
Tīmekļa pakalpojuma iestatījumu lapā norādiet jaunā pakalpojuma nosaukumu, norādiet projekta saknes direktoriju, build un start komandu un visbeidzot noklikšķiniet uz Izveidojiet tīmekļa pakalpojumu. Kad izvietošanas process ir pabeigts, kopējiet norādīto URL, lai pārbaudītu galapunktus pakalpojumā Postman.
Pārbaudiet API galapunktus vietnē Postman
Postman ir populārs rīks API izstrādei un testēšanai. Lai iepazītos ar Pastnieku, uzziniet, kā to izmantot, lai pārbaudītu API.
Lai pārbaudītu izvietoto API, veiciet a POSTĪT pieprasījums uz /lietotājiem galapunkts, lai saglabātu datus PostgreSQL datu bāzē.
Visbeidzot, veiciet GET pieprasījumu, lai izgūtu saglabātos datus.
Vai Render ir dzīvotspējīga alternatīva?
Render nodrošina vienkāršu iestatīšanas procesu un nemanāmu integrāciju ar populārām versiju kontroles sistēmām, padarot to par labu alternatīvu mākoņa mitināšanas platformu.
Turklāt tā konkurētspējīgais cenu modelis un iebūvētais atbalsts populāriem izstrādes rīkiem padara to par uzticamu un lietotājam draudzīgu iespēju gan blakusprojektiem, gan lieliem komerciāliem lietojumiem.