Slik distribuerer du en Lets Chat-server på CentOS 7

Let's Chat er en åpen kildekode-chat-applikasjon som er utviklet for å tilby selvvertsbasert meldingstjeneste for små team.

Let's Chat er basert på NodeJS og MongoDB. I denne artikkelen skal vi ta en titt på hvordan du distribuerer Let's Chat på en CentOS 7-server.

Forutsetninger

  • En CentOS 7-serverforekomst med minst 2G RAM. 4G RAM anbefales.
  • En sudo-bruker .

Trinn 1: Oppdater systemet

Når du logger på systemet ditt for første gang, er det nødvendig å utføre en systemomfattende oppdatering som følger:

sudo yum install epel-release -y
sudo yum clean all && sudo yum update -y && sudo shutdown -r now

Etter omstart, logg på tilbake som samme sudo-bruker.

Trinn 2: Installer NodeJS

Installer den nyeste NodeJS 6.x som følger, som er 6.9.5i skrivende stund:

cd
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum install -y nodejs

Trinn 3: Installer MongoDB

Installer den nyeste MongoDB som følger, som er 3.4på det tidspunktet denne artikkelen ble skrevet.

3.1 Opprett MongoDB 3.4 YUM-repoen som følger:

cat <<EOF | sudo tee -a /etc/yum.repos.d/mongodb-org-3.4.repo
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
EOF

3.2 Installer og start den siste stabile versjonen av MongoDB Server, som var 3.4.1på det tidspunktet denne artikkelen ble skrevet:

sudo yum install -y mongodb-org
sudo systemctl start mongod.service
sudo systemctl enable mongod.service

Trinn 4: Installer Let's Chat

sudo yum install git -y
cd /opt
sudo git clone https://github.com/sdelements/lets-chat.git
cd lets-chat
sudo npm install

Merk: Det er normalt å se flere npm WARN ...meldinger under installasjonen. Bare ignorer dem.

Trinn 5 (valgfritt): Opprett settings.ymlfilen

Hvis du vil tilpasse Let's Chat, kan du opprette en fil som heter /opt/lets-chat/settings.ymlog deretter legge inn dine egendefinerte innstillinger i den:

sudo cp settings.yml.sample settings.yml

For formålet med denne opplæringen vil vi bruke standardinnstillingene fra eksempelinnstillingsfilen.

Trinn 6: Installer Forever

Du kan starte Let's Chat fra /opt/lets-chatkatalogen:

cd /opt/lets-chat
npm start

Utgangen skal ligne:

> lets-chat@0.4.8 start /opt/lets-chat
> node app.js

██╗     ███████╗████████╗███████╗     ██████╗██╗  ██╗ █████╗ ████████╗
██║     ██╔════╝╚══██╔══╝██╔════╝    ██╔════╝██║  ██║██╔══██╗╚══██╔══╝
██║     █████╗     ██║   ███████╗    ██║     ███████║███████║   ██║
██║     ██╔══╝     ██║   ╚════██║    ██║     ██╔══██║██╔══██║   ██║
███████╗███████╗   ██║   ███████║    ╚██████╗██║  ██║██║  ██║   ██║
╚══════╝╚══════╝   ╚═╝   ╚══════╝     ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝   ╚═╝

Release 0.4.8

For å holde Let's Chat-applikasjonen i gang, la oss Ctrl-Cførst trykke for å avslutte og deretter installere en app som heter foreversom kan sikre at det skjer:

sudo npm install forever -g

Bruk foreverapplikasjonen til å starte Let's Chat:

cd /opt/lets-chat
forever start app.js

Etter at Let's Chat kommer i gang, kan du få tilgang til den lokalt via:

http://localhost:5000

Du kan teste installasjonen med kommandoen nedenfor:

curl -I http://localhost:5000

Utgangen skal være lik:

HTTP/1.1 302 Found
X-Frame-Options: SAMEORIGIN
X-Download-Options: noopen
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Content-Security-Policy:
X-Content-Security-Policy:
X-WebKit-CSP:
X-UA-Compatible: IE=Edge,chrome=1
Location: /login
Vary: Accept, Accept-Encoding
Content-Type: text/plain; charset=utf-8
Content-Length: 28
set-cookie: connect.sid=s%3A0YTFL6Un5G7iMc3zt8i-vlIh2YDQqTZ3.1dVZFG3VWmwd%2FXXXJiuyWSQ4k432MVvxm7xrgJGIej4; Path=/; HttpOnly
Date: Wed, 01 Feb 2017 11:30:03 GMT
Connection: keep-alive

Trinn 7: Installer Nginx som en omvendt proxy

For å aktivere ekstern nettilgang, må du sette opp en omvendt proxy, for eksempel Nginx, for å omdirigere trafikk.

7.1 Installer Nginx:

sudo yum install nginx -y

7.2 Endre Nginx sine innstillinger:

sudo vi /etc/nginx/nginx.conf

Finn location / {}segmentet i http {}segmentet:

http {

    location / {
    }

}

Sett inn linjene nedenfor i location / {}segmentet:

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
proxy_pass http://127.0.0.1:5000;

Det endelige resultatet bør være:

http {

location / {
    proxy_pass http://127.0.0.1:5000;
      proxy_http_version 1.1;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $host;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection 'upgrade';
      proxy_cache_bypass $http_upgrade;
}

}

Lagre og avslutt:

:wq!

7.3 Start Nginx-tjenesten:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

7.4 Endre brannmurregler for å tillate nettilgang:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

Trinn 8: Netttilgang

Pek på nettleseren for http://203.0.113.1å få tilgang til Let's Chat, og klikk deretter på I need an accountlenken for å registrere et brukernavn for pålogging.

Det er det. Takk for at du leste.

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

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.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

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.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

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.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

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...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

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.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

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.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

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.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

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