Hur man distribuerar en Lets Chat-server på CentOS 7

Let's Chat är en chattapplikation med öppen källkod som är utformad för att tillhandahålla meddelandetjänster för små team.

Let's Chat är baserat på NodeJS och MongoDB. I den här artikeln tar vi en titt på hur man distribuerar Let's Chat på en CentOS 7-server.

Förutsättningar

  • En CentOS 7-serverinstans med minst 2G RAM. 4G RAM rekommenderas.
  • En sudo-användare .

Steg 1: Uppdatera systemet

När du loggar in på ditt system för första gången är det nödvändigt att utföra en systemomfattande uppdatering enligt följande:

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

Efter omstarten loggar du in igen som samma sudo-användare.

Steg 2: Installera NodeJS

Installera den senaste NodeJS 6.x enligt följande, vilket är 6.9.5i skrivande stund:

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

Steg 3: Installera MongoDB

Installera den senaste MongoDB enligt följande, vilket är 3.4vid den tidpunkt då denna artikel skrevs.

3.1 Skapa MongoDB 3.4 YUM-repo enligt följande:

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 Installera och starta den senaste stabila versionen av MongoDB Server, som var 3.4.1vid den tidpunkt då denna artikel skrevs:

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

Steg 4: Installera 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

Obs: Det är normalt att se flera npm WARN ...meddelanden under installationen. Bara ignorera dem.

Steg 5 (valfritt): Skapa settings.ymlfilen

Om du vill anpassa Let's Chat kan du skapa en fil med namnet /opt/lets-chat/settings.ymloch sedan lägga in dina anpassade inställningar i den:

sudo cp settings.yml.sample settings.yml

För syftet med denna handledning kommer vi att använda standardinställningarna från exempelinställningsfilen.

Steg 6: Installera Forever

Du kan starta Let's Chat från /opt/lets-chatkatalogen:

cd /opt/lets-chat
npm start

Utgången ska likna:

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

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

Release 0.4.8

För att hålla Let's Chat-applikationen igång, låt oss Ctrl-Cförst trycka för att avsluta och sedan installera en app som heter foreversom kan säkerställa att det kommer att hända:

sudo npm install forever -g

Använd foreverappen för att starta Let's Chat:

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

När Let's Chat har kommit igång kan du komma åt den lokalt via:

http://localhost:5000

Du kan testa din installation med kommandot nedan:

curl -I http://localhost:5000

Utdata ska likna:

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

Steg 7: Installera Nginx som en omvänd proxy

För att aktivera extern webbåtkomst måste du ställa in en omvänd proxy, till exempel Nginx, för att omdirigera trafik.

7.1 Installera Nginx:

sudo yum install nginx -y

7.2 Ändra Nginx inställningar:

sudo vi /etc/nginx/nginx.conf

Hitta location / {}segmentet inom http {}segmentet:

http {

    location / {
    }

}

Infoga nedanstående rader 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;

Slutresultatet bör vara:

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;
}

}

Spara och avsluta:

:wq!

7.3 Starta Nginx-tjänsten:

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

7.4 Ändra brandväggsregler för att tillåta webbåtkomst:

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

Steg 8: Webbåtkomst

Peka på din webbläsare för http://203.0.113.1att komma åt Let's Chat och klicka sedan på I need an accountlänken för att registrera ett användarnamn för inloggning.

Det är allt. Tack för att du läser.

Lämna en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer