Cum să implementați un Lets Chat Server pe CentOS 7

Let Chat este o aplicație de chat open source concepută pentru a oferi un serviciu de mesagerie auto-găzduit pentru echipe mici.

Let Chat este bazat pe NodeJS și MongoDB. În acest articol, vom arunca o privire asupra modului de a implementa Let’s Chat pe o secțiune CentOS 7.

Cerințe preliminare

  • O instanță de server CentOS 7 cu cel puțin 2G RAM. 4G RAM recomandat.
  • Un utilizator sudo .

Pasul 1: Actualizați sistemul

Când vă conectați la sistemul dvs. pentru prima dată, este necesar să efectuați o actualizare la nivel de sistem, după cum urmează:

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

După repornire, conectați-vă înapoi ca același utilizator sudo.

Pasul 2: Instalează NodeJS

Instalați cel mai recent NodeJS 6.x după cum urmează, care este 6.9.5la momentul scrierii:

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

Pasul 3: Instalează MongoDB

Instalați cel mai recent MongoDB după cum urmează, care este 3.4la momentul în care a fost scris acest articol.

3.1 Creați repoziția MongoDB 3.4 YUM după cum urmează:

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 Instalați și porniți cea mai recentă versiune stabilă a MongoDB Server, care este 3.4.1la momentul în care a fost scris acest articol:

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

Pasul 4: Instalați Let Chat

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

Notă: Este normal să vedeți mai multe npm WARN ...mesaje în timpul instalării. Doar ignoră-le.

Pasul 5 (opțional): creați settings.ymlfișierul

Dacă doriți să personalizați Let Chat, puteți crea un fișier numit /opt/lets-chat/settings.ymlși apoi puneți setările personalizate în el:

sudo cp settings.yml.sample settings.yml

În scopul acestui tutorial, vom folosi setările implicite din fișierul cu setări de exemple.

Pasul 6: Instalează Forever

Puteți începe Let Chat din /opt/lets-chatdirector:

cd /opt/lets-chat
npm start

Produsul ar trebui să semene cu:

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

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

Release 0.4.8

Pentru a menține în funcțiune aplicația Let Chat, apăsăm mai Ctrl-Cîntâi pentru a ieși și apoi instalăm o aplicație numită forevercare să ne asigurăm că se va întâmpla:

sudo npm install forever -g

Folosiți foreveraplicația pentru a porni Let Chat:

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

După ce Let Chat începe să funcționeze, îl puteți accesa local prin:

http://localhost:5000

Puteți testa instalarea cu comanda de mai jos:

curl -I http://localhost:5000

Producția ar trebui să fie similară cu:

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

Pasul 7: Instalați Nginx ca proxy invers

Pentru a activa accesul web extern, trebuie să configurați un proxy invers, Nginx, de exemplu, pentru a redirecționa traficul.

7.1 Instalați Nginx:

sudo yum install nginx -y

7.2 Modificați setările Nginx:

sudo vi /etc/nginx/nginx.conf

Găsiți location / {}segmentul în cadrul http {}segmentului:

http {

    location / {
    }

}

Introduceți liniile de mai jos în location / {}segment:

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;

Rezultatul final ar trebui să fie:

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

}

Salvează și închide:

:wq!

7.3 Porniți serviciul Nginx:

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

7.4 Modificați regulile firewallului pentru a permite accesul la web:

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

Pasul 8: Acces web

Indicați browserul dvs. web pentru http://203.0.113.1a accesa Let’s Chat, apoi faceți clic pe I need an accountlinkul pentru a înregistra un nume de utilizator pentru conectare.

Asta e. Mulțumesc pentru citit.

Lasă un comentariu

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe