Kako implementirati Lets Chat Server na CentOS 7

Let's Chat je aplikacija za chat otvorenog koda osmišljena za pružanje usluge razmjene poruka s vlastitim hostingom za male timove.

Let's Chat temelji se na NodeJS i MongoDB. U ovom članku ćemo pogledati kako implementirati Let's Chat na CentOS 7 server.

Preduvjeti

  • Instanca poslužitelja CentOS 7 s najmanje 2G RAM-a. Preporučuje se 4G RAM.
  • Korisnik sudoa .

Korak 1: Ažurirajte sustav

Kada se prvi put prijavite na svoj sustav, potrebno je izvršiti ažuriranje za cijeli sustav na sljedeći način:

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

Nakon ponovnog pokretanja, ponovno se prijavite kao isti sudo korisnik.

Korak 2: Instalirajte NodeJS

Instalirajte najnoviji NodeJS 6.x na sljedeći način, koji je 6.9.5u trenutku pisanja:

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

Korak 3: Instalirajte MongoDB

Instalirajte najnoviji MongoDB na sljedeći način, što je 3.4u vrijeme pisanja ovog članka.

3.1 Kreirajte MongoDB 3.4 YUM repo na sljedeći način:

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 Instalirajte i pokrenite najnovije stabilno izdanje MongoDB poslužitelja, koje je 3.4.1u vrijeme pisanja ovog članka:

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

Korak 4: Instalirajte 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

Napomena: Normalno je vidjeti nekoliko npm WARN ...poruka tijekom instalacije. Samo ih ignorirajte.

Korak 5 (neobavezno): Stvorite settings.ymldatoteku

Ako želite prilagoditi Let's Chat, možete stvoriti datoteku pod nazivom /opt/lets-chat/settings.ymli zatim u nju staviti svoje prilagođene postavke:

sudo cp settings.yml.sample settings.yml

Za potrebe ovog vodiča koristit ćemo zadane postavke iz datoteke s postavkama uzorka.

Korak 6: Instalirajte zauvijek

Možete pokrenuti Let's Chat iz /opt/lets-chatimenika:

cd /opt/lets-chat
npm start

Izlaz bi trebao izgledati:

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

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

Release 0.4.8

Kako bi aplikacija Let's Chat ostala pokrenuta, Ctrl-Cprvo pritisnite za izlaz, a zatim instalirajte aplikaciju pod nazivom foreverkoja može osigurati da će se to dogoditi:

sudo npm install forever -g

Koristite foreveraplikaciju za početak Let's Chat:

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

Nakon što se Let's Chat pokrene i pokrene, možete mu pristupiti lokalno putem:

http://localhost:5000

Svoju instalaciju možete testirati sljedećom naredbom:

curl -I http://localhost:5000

Izlaz bi trebao biti sličan:

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

Korak 7: Instalirajte Nginx kao obrnuti proxy

Da biste omogućili vanjski pristup webu, morate postaviti obrnuti proxy, na primjer Nginx, za preusmjeravanje prometa.

7.1 Instalirajte Nginx:

sudo yum install nginx -y

7.2 Izmijenite postavke Nginxa:

sudo vi /etc/nginx/nginx.conf

Pronađite location / {}segment unutar http {}segmenta:

http {

    location / {
    }

}

Umetnite donje linije u 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;

Konačni rezultat bi trebao biti:

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

}

Spremi i zatvori:

:wq!

7.3 Pokrenite Nginx uslugu:

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

7.4 Izmijenite pravila vatrozida kako biste omogućili pristup webu:

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

Korak 8: Pristup webu

Usmjerite svoj web preglednik na http://203.0.113.1za pristup Let's Chat, a zatim kliknite I need an accountvezu da biste registrirali korisničko ime za prijavu.

To je to. Hvala na čitanju.

Ostavite komentar

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više