Sett opp Cacti på Debian Jessie
Introduksjon Cacti er et åpen kildekode overvåkings- og grafverktøy som er fullt basert på RRD-data. Gjennom Cacti kan du overvåke nesten alle typer enheter
Hapi.js er et rikt, robust og kraftig Node.js-rammeverk designet for å bygge nettapplikasjoner i Node.js-økosystemet. Den enkle designen gjør den enkel å komme i gang med. Hapi bruker mange av de nyeste JavaScript ES6-funksjonene i kjernen, slik som ES6-løfter. For de av dere som har brukt Express før, lar Hapi deg prøve noe nytt og oppleve alle de nyeste JavaScript-funksjonene.
I denne opplæringen vil målet vårt være å sette opp en grunnleggende Hapi.js-nettside, som er vert fra vår Vultr VPS, på Ubuntu 16.04 LTS. For de som har et domene for nettstedet deres, vil vi bruke en omvendt proxy for å koble domenet vårt til nettstedet vårt. Til slutt skal vi lære å håndtere det med en prosessleder. Nå som vi har fått det ut av veien, la oss komme i gang.
Vi må installere Node.js. For å gjøre det på Ubuntu 16.04 LTS, følg disse instruksjonene.
Vi må legge til NodeSource APT-depotet, som inneholder den siste LTS-utgivelsen av Node.js.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Vi laster ned et skript som vi skal bruke for å legge til depotet til kildelisten vår, samt installere Node.js fra NodeSource-depotet.
I tillegg til å installere selve Node.js, må vi også installere noen nødvendige byggeverktøy, som vil hjelpe til med å bygge eventuelle moduler som vi trenger å installere.
sudo apt-get install -y build-essential
Dette laster bare ned og installerer byggeverktøyene fra depotet.
Det er god praksis å angi en mappe som vi skal bruke for applikasjonen vår, som vil inneholde alle applikasjonens data, for eksempel konfigurasjonsfiler og oppstartsskript. Opprett en mappe, og navngi den hva du vil. For denne veiledningens skyld antar jeg at du kalte den site
.
mkdir site
Når du har laget mappen, kan vi nå bytte til den. Sørg for at du er i katalogen du nettopp har opprettet, start opp NPM-pakkeveiviseren.
npm init
Den vil be deg om å legge inn noen forskjellige ting, for eksempel programmets navn, startfil, lisens og så videre. De fleste feltene kan du la stå som standard, bortsett fra de mer åpenbare feltene, for eksempel navnet på programmet. Til slutt vil det se slik ut:
{
"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"
}
Når du er fornøyd med resultatet, klikker du for ENTERå lagre filen.
Nå som katalogen din har blitt konstruert, kan vi nå fortsette å installere Hapi.js. Som nevnt før, vil vi bruke NPM til å laste ned Hapi.js, så vel som dets avhengigheter, for prosjektet vårt. Kjør følgende i prosjektkatalogen.
npm install hapi.js
Dette laster ned Hapi.js fra NPM og installerer det i vår prosjektkatalog. I samme kjøring blir alle avhengigheter som Hapi.js kan stole på, også lastet ned for enkelhets skyld.
Nå er det på tide å sette opp vår grunnleggende Hapi.js-applikasjonsfil. Dette vil inneholde all vår kode for applikasjonen. Lenger ned i veien kan vi utvide søknadskoden vår, og legge til flere ting til den, ettersom vi finner det passende.
Deretter lager vi startfilen vår. Se tilbake til main
delen av package.json
filen din for å finne ut nøyaktig hvordan du skal navngi filen. Siden jeg brukte standard navneskjema, vil filen vår hete index.js
.
nano index.js
Når du er inne i nano-tekstredigeringsprogrammet, oppretter du basisapplikasjonskoden din, som så.
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();
Først importerer vi Hapi-modulen. Deretter initialiserer vi serverkonstruktøren vår, som inneholder verten vi ønsker å kjøre serveren på, samt porten, som er 3000
for denne opplæringen. Deretter setter vi opp en grunnleggende ruter, som indikerer at når noen besøker nettstedet, vil de bli møtt med en enkel melding. For å toppe det hele har vi en async-funksjon, for å starte serveren vår, som vil logge på konsollen som serveren vår kjører. Når du er ferdig, lagre og lukk filen ( CTRL+ X)
Nå som hovedfilen vår er satt opp, er vi klare til å starte applikasjonen vår.
node index.js
Hvis du ser " Our server is running!
" i konsollen, startet serveren vellykket.
Siden Nginx er tilgjengelig i standard Ubuntu-lagre, er installasjonen enkel. Bare oppdater pakkelistene dine og installer den.
sudo apt update
sudo apt install nginx -y
Etter å ha oppdatert pakkelistene, vil Nginx og dets avhengigheter bli installert.
For at Nginx skal reversere proxy-applikasjonen vår, må vi opprette en konfigurasjonsfil. Denne konfigurasjonsfilen vil inneholde informasjon om applikasjonen vår, som Nginx vil bruke for omvendt proxy.
Slett standardkonfigurasjonen som Nginx opprettet, siden vi vil erstatte den med vår egen senere.
sudo rm /etc/nginx/sites-enabled/default
Lag en ny fil i sites-available
mappen. Når det gjelder navngivning, kan vi holde oss til ganske enkelt site
, for enkelhets skyld.
sudo nano /etc/nginx/sites-available/site
I filen limer du inn følgende og lagrer.
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;
}
}
I denne filen ber vi Nginx om å lytte på port 80
. Vi setter også proxy-passthrough til localhost
adressen og porten 3000
, som er den samme porten som vår Hapi-applikasjon.
Nå kan du navigere tilbake til applikasjonskatalogen din og starte siden. Når siden har startet, naviger ganske enkelt til http://yourdomain.com
eller http://yourip
, og du vil se teksten " Hello World
".
PM2 kan bli funnet i NPM-depotet, og du kan installere det globalt for å være tilgjengelig fra hvor som helst, som så.
sudo npm install pm2 -g
Den -g
flagget på slutten indikerer at vi ønsker å installere modulen til globale moduler mappen, som vil tillate oss å bruke den utenfor vårt prosjekt katalogen. Dette brukes for at prosjektet vårt skal oppføre seg som en vanlig systemapplikasjon.
Når du har installert PM2, naviger tilbake til prosjektkatalogen. Syntaksen for å starte applikasjonen vår vil være litt annerledes nå. Slik skal vi gjøre det med PM2.
pm2 start index.js --name site
Vi bruker PM2-startfunksjonen, som i utgangspunktet oppretter en profil for applikasjonen vår, under navnet site
. Etter å ha kjørt denne kommandoen, vil nettstedet ditt starte, men du vil legge merke til at loggene ikke vises. Det er fordi måten vi ser på logger nå er annerledes.
pm2 logs site
Du kan til og med spesifisere hvor mange linjer med logger du vil se, med --lines
argumentet.
Du har satt opp en Hapi.js-nettserver, reversert proxy med Nginx og lært hvordan du bedre kan administrere den med PM2. Med denne kunnskapen kan du utvide denne opplæringen ytterligere og lage en svært avansert Hapi.js-applikasjon. For å lære mer om mulighetene til Hapi, besøk deres offisielle dokumentasjon . Hvis du vil lære mer om mulighetene til PM2, se hurtigstartguiden deres .
Introduksjon Cacti er et åpen kildekode overvåkings- og grafverktøy som er fullt basert på RRD-data. Gjennom Cacti kan du overvåke nesten alle typer enheter
Introduksjon Lets Encrypt er en sertifikatmyndighetstjeneste som tilbyr gratis TLS/SSL-sertifikater. Installasjonsprosessen forenkles av Certbot,
Bruker du et annet system? Denne opplæringen viser deg hvordan du installerer gruppevaren iRedMail på en ny installasjon av Debian Wheezy. Du bør bruke en serve
1. Virtualmin/Webmin Virtualmin er et kraftig og fleksibelt kontrollpanel for webhotell for Linux- og UNIX-systemer basert på den velkjente Open Source-nettbasen
Skjerm er et program som tillater flere bruk av terminalsesjoner i ett vindu. Dette lar deg simulere flere terminalvinduer der det ma
Introduksjon Logrotate er et Linux-verktøy som forenkler administrasjonen av loggfiler. Den kjører vanligvis en gang om dagen via en cron-jobb, og administrerer loggbasen
Bruker du et annet system? Docker er en applikasjon som gjør det mulig å distribuere programmer som kjøres som containere. Det ble skrevet i det populære Go-programmet
Hva er Dirty Cow (CVE-2016-5195)? Dirty Cow-sårbarheten utnyttes gjennom hvordan Linux behandler kode. Det gjør det mulig for en uprivilegert bruker å gai
Å ha bare én bruker, som er root, kan være farlig. Så la oss fikse det. Vultr gir oss friheten til å gjøre som vi vil med våre brukere og våre servere
Adminer er et lett alternativ til phpMyAdmin. Til sammenligning er dens totale pakkestørrelse 400 KB, mot 4,2 MB med phpMyAdmin. I motsetning til phpMyAdmin, som
Bruker du et annet system? GoAccess er en åpen kildekode-nettlogganalysator. Du kan bruke den til analyse av logger på sanntidsbasis i enten terminalen eller
Denne artikkelen er en del av en todelt serie om installasjon og konfigurering av Nagios på Ubuntu 14.04. Del 1: Nagios Server Del 2: Oversikt over ekstern vert Nagio
Vultr-servere kan ikke distribueres med tidssonen/datoen/klokkeslettet du trenger på serveren din. Heldigvis kan vi manuelt stille inn tidssonen for å forhindre problemer
Denne artikkelen vil lede deg gjennom distribusjon av Meteor-appen din til en Vultr VPS som kjører Ubuntu 14.04. Det kan også fungere på andre Linux-distribusjoner (forsøk a
Introduksjon Linux-funksjoner er spesielle attributter i Linux-kjernen som gir prosesser og binære kjørbare spesifikke rettigheter som er normale
Noen arkitekturer med høy tilgjengelighet krever en flytende IP-adresse. Denne funksjonaliteten er tilgjengelig på Vultr-plattformen når privat nettverk har bee
Innledning Enkelte scenarier krever at du oppretter brukere med lese- og skrivetilgang til en enkelt katalog kun via FTP. Denne artikkelen vil vise deg hvordan t
Node.js-applikasjoner er populære for deres evne til å skalere. Å kjøre flere samtidige prosesser på flere servere gir lavere ventetid og større oppetid
Bruker du et annet system? LibreNMS er et fullverdig åpen kildekode-nettverksovervåkingssystem. Den bruker SNMP for å hente data fra forskjellige enheter. En variant
For DHCP-brukere kan det hende du trenger å redigere /etc/resolv.conf for å bruke andre navneservere. Deretter, etter en periode (eller etter en omstart av systemet)
Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.
Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.
Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.
Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.
Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...
Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.
Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.
Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.
I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.
Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer