når du er færdig med at skrive kode til din hjemmeside eller app, skal du have den placeret et sted, hvor den kan køre og levere indhold til dine brugere. Det er her, serverprogrammerne kommer ind. En simpel Google-søgning vil give dig en liste over løsninger at vælge imellem.
i denne vejledning er vores fokus på Ngink; og specifikt hvordan du kan få det til at køre på Ubuntu 18.04.
- forudsætninger
- Trin 1 – Installer Ubuntu er baseret på Debian. For at installere deb-pakker fra kommandolinjen kan du enten bruge apt-eller dpkg-kommandoer. Vi bruger apt-kommandoen, da den er mere populær. Apt-kommandoen giver brugerne mulighed for at installere pakker, der er tilgængelige fra standardlagrene i den specifikke distribution, de kører. I dette tilfælde har vi Ngink tilgængelig på Standardlagrene i Ubuntu 18.04, så vi kan fortsætte. Indtast følgende kommando i terminalen for at opdatere: sudo apt update
- Trin 2 – Juster Brandvæggen
- Trin 3 – Kontrol af din internetserver
- Trin 4-grundlæggende Ngink-styringskommandoer
- Trin 5 – opsætning af Serverblokke
- Trin 6-vigtige filer og mapper, som du bør kende
- konklusion
forudsætninger
selvfølgelig har du allerede en computer, der kører Ubuntu 18.0.4; og du har en ikke-root-bruger med sudo-privilegier. Hvis ikke, gå over til dette link for at hente Ubuntu 18.0.4, følg derefter guiderne på indledende serveropsætning med Ubuntu for at oprette en ikke-root-konto. Når du har en konto, skal du logge ind som en ikke-root-bruger, og så kan vi fortsætte med de næste trin.
Trin 1 – Installer Ubuntu er baseret på Debian. For at installere deb-pakker fra kommandolinjen kan du enten bruge apt-eller dpkg-kommandoer. Vi bruger apt-kommandoen, da den er mere populær. Apt-kommandoen giver brugerne mulighed for at installere pakker, der er tilgængelige fra standardlagrene i den specifikke distribution, de kører. I dette tilfælde har vi Ngink tilgængelig på Standardlagrene i Ubuntu 18.04, så vi kan fortsætte. Indtast følgende kommando i terminalen for at opdatere:
sudo apt update
for at installere Ngink, skal du indtaste følgende kommando:
sudo apt install nginx
følg instruktionerne, og Ngink vil blive installeret på din server sammen med de nødvendige afhængigheder.
Trin 2 – Juster Brandvæggen
standardkonfigurationsværktøjet til Ubuntu er UFV. UFV står for ukompliceret Brandvæg og er udviklet til at lette brandvægskonfigurationen. Som standard registrerer
sudo ufw enable
følgende kommando viser den applikationskonfiguration, som UFV tillader:
sudo ufw app list
Her er en screengrab af, hvordan din terminal kan se ud:
det viser 3 profiler til rådighed for ngink. De er beskrevet nedenfor:
- Nginks Fuld – den åbner både port 80 og 443. Port 80 er til normal / ukrypteret trafik, dvs. http. Port 443 er til TLS/SSL krypteret trafik. dvs. https. HTTP-den åbner kun port 80. HTTPS-den åbner kun port 443.
som en anbefaling skal du kun aktivere den profil, der tillader den trafik, du har konfigureret til din internetapplikation. I dette tilfælde vil vi gå med Ngink HTTP (port 80), da vi ikke har konfigureret SSL. Følgende kommando aktiverer dette:
sudo ufw allow 'Nginx HTTP'sudo ufw allow 'OpenSSH'
for at bekræfte ændringen skal du indtaste følgende kommando:
sudo ufw status
din terminal skal vise noget, der ligner screengrab nedenfor. Bemærk, at HTTP-trafikken er tilladt overalt:
Trin 3 – Kontrol af din internetserver
efter installation af Ngink på Ubuntu 18.04 starter tjenesten automatisk. Du kan teste dette ved at indtaste følgende kommando i din terminal:
systemctl status nginx
din terminal skal vise noget som dette:
Dette viser, at tjenesten blev startet automatisk, og at den kører. Som du allerede ved, er hovedformålet med serverprogrammer at tjene indhold. For at teste dette formål skal du anmode om en side. Du kan gøre dette ved at få adgang til din servers IP-adresse, som skal vise standard destinationssiden. Hvis du ikke kender din server IP-adresse, nedenfor er nogle kommandoer til at hjælpe dig med at få det:
ip addr show ens3 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
nedenfor er en anden kommando, som du kan bruge. Det giver dig den offentlige IP-adresse set fra steder på internettet:
curl -4 icanhazip.com
den første kommando får dig en adresse som vist i terminalen nedenfor. Næste, kopier og test det i din bro. ser:
din bro.ser indlæser standardsiden, der ligner følgende skærmbillede. Det viser, at din Ngink-server faktisk kører:
Trin 4-grundlæggende Ngink-styringskommandoer
du har allerede set kommandoen, der kontrollerer status for Ngink:
systemctl status nginx
nu hvor vi har serveren i gang, her er nogle flere kommandoer, du skal holde ved hånden til styring af Ngink-tjenesten. Disse kommandoer fungerer ikke kun på Ubuntu 18.04, men også på alle distributioner.
for at stoppe serveren skal du indtaste følgende kommando:
sudo systemctl stop nginx
for at starte serveren skal du indtaste følgende kommando:
sudo systemctl start nginx
Når du foretager væsentlige ændringer som at ændre porte eller grænseflader, skal du genstarte internetserveren. Kommandoen nedenfor genstarter serveren:
sudo systemctl restart nginx
Når du foretager mindre konfigurationsændringer som redigering af serverblokke, kan Ngink genindlæses uden at tabe forbindelser. Her er kommandoen til at genindlæse:
sudo systemctl reload nginx
Ngink starter automatisk serveren, når dit Ubuntu OS starter op. Hvis du imidlertid ønsker at ændre denne indstilling, kan du deaktivere tjenesten ved at indtaste kommandoen nedenfor:
sudo systemctl disable nginx
og du kan genaktivere tjenesten til automatisk at starte, når du starter din maskine næste gang ved at indtaste:
sudo systemctl enable nginx
Trin 5 – opsætning af Serverblokke
Du kan ønske at være vært for flere hjemmesider (domæner) på en internetserver. Serverblokke vil hjælpe dig med at opnå dette. Hvis du har brugt Apache før, kan serverblokke sammenlignes med Apache Vhosts. Ud af boksen leveres en serverblok, der er konfigureret til at køre fra mappen /var/
Vi vil oprette et andet sted på den samme server og kalde det samplesite.com (dette er blot et eksempel, du skal erstatte det med dit eget domænenavn).
inde i /var/
sudo mkdir -p /var/www/samplesite.com/html
for at give adgang til biblioteket skal du tildele ejerskab med $USER-miljøvariablen:
sudo chown -R $USER:$USER /var/www/samplesite.com/html
for at kontrollere, at tilladelserne til dine netrødder er korrekte, skal du indtaste følgende kommando:
sudo chmod -R 755 /var/www/samplesite.com
næste, lad vi forsøger at oprette et simpelt indeks.html i samplesite.com vejviser. Du kan åbne nano editor som:
nano /var/www/samplesite.com/html/index.html
kommandoen åbner en editor i din terminal, tilføj følgende kode:
<html><head><title>Welcome to samplesite.com!</title></head><body><h1>Success! The samplesite.com server block is running fine!</h1></body></html>
skriv Ctrl + O, og tryk derefter på Enter for at gemme filen. Skriv Ctrl + H for at lukke editoren.
derefter kan du oprette serverblokken. Indtast følgende kommando for at åbne nano editor:
sudo nano /etc/nginx/sites-available/samplesite.com
i editoren skal du indtaste følgende kode, ændret til den mappe, du oprettede. Bemærk, at rodnavnet og servernavnet matcher vores bibliotek og det domæne, vi vil servere:
server { listen IP_ADDRESS:80; listen :80; root /var/www/samplesite.com/html; index index.html index.htm index.nginx-debian.html; server_name samplesite.com samplesite.com; location / { try_files $uri $uri/ =404; }}
næste, Gem og luk filen.Læs konfigurationsfiler fra sites-aktiveret mappe, så du skal oprette et symlink fra din nye serverblok til den sites-aktiverede mappe. Følgende kommando vil gøre det:
sudo ln -s /etc/nginx/sites-available/samplesite.com /etc/nginx/sites-enabled/
du har nu to serverblokke, der kan tjene to hjemmesider på en Ngink-server.
følgende kommando reagerer på anmodninger på domænerne samplesite.com og www.samplesite.com.
curl samplesite.com
og standard vil svare på alle anmodninger, der rammer port 80, der ikke matcher nogen af de to serverblokke:din server kan sandsynligvis opleve et hash bucket-hukommelsesproblem, når du tilføjer yderligere serverblokke. For at undgå dette skal du justere en enkelt fil i nginks.conf fil. Åbn derefter filen med nano-editoren:
sudo nano /etc/nginx/nginx.conf
find derefter direktivet: server_names_hash_bucket_størrelse og fjern # – symbolet for at fjerne det, så det ser sådan ud:
http { server_names_hash_bucket_size 64;}
Gem og luk derefter filen.
for at teste, at alle dine filer ikke har nogen fejl, skal du indtaste følgende kommando:
sudo nginx -t
Hvis alt er fint, skal du se noget som dette:
for at konfigurationsændringerne skal træde i kraft, skal du først starte Ngink-serveren ved hjælp af kommandoen nedenfor:
sudo systemctl restart nginx
indtast nu domænet, og du skal se den HTML-side, vi oprettede.
Trin 6-vigtige filer og mapper, som du bør kende
- main content directory
– / var/
–/etc/nginks / nginks.conf: den vigtigste konfigurationsfil, der kan ændres for at foretage globale ændringer på serveren.det er den mappe, hvor du gemmer per-site server blokke. Alle serverblokke er i denne mappe. Et symlink vil linke dem til den sites-aktiverede mappe. Hvis vi viser indholdet af denne direktør, skal vi se den serverblok, vi oprettede, samt Standard Serverblok.
– /etc/nginks/sites-enabled/: aktiver per-site server blokke findes i denne mappe. De er knyttet til de faktiske konfigurationsfiler i mappen sites-available.
– /etc/snippets/: den mappe, hvor du gemmer konfigurationsuddrag, der kan indgå i andre konfigurationer – f. eks. gentagne konfigurationsuddrag.
- serverlogfiler
–/var/log/adgang.log: denne fil registrerer alle anmodninger, der rammer din server, medmindre du har konfigureret
– /var/log/fejl.log: denne fil registrerer alle fejl. Det er her, du kommer til fejlfinding, når din server ikke kører som forventet.
konklusion
Vi er kommet til slutningen af rejsen. Du har installeret Ubuntu 18.04, konfigurerede brandvægge, konfigurerede serverblokke og sikrede, at siderne er tilgængelige i din bro.ser. Tillykke! Nu er det op til dig at finde ud af, hvilket indhold du vil tjene til dine brugere.
glad Computing!