Как да разположите сървър за чат Lets на CentOS 7

Let's Chat е приложение за чат с отворен код, предназначено да предоставя самостоятелно хоствана услуга за съобщения за малки екипи.

Let's Chat е базиран на NodeJS и MongoDB. В тази статия ще разгледаме как да разположим Let's Chat на сървър на CentOS 7.

Предпоставки

Стъпка 1: Актуализирайте системата

Когато влизате във вашата система за първи път, е необходимо да извършите актуализация в цялата система, както следва:

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

След рестартирането влезте отново като същия потребител на sudo.

Стъпка 2: Инсталирайте NodeJS

Инсталирайте най-новия NodeJS 6.x, както следва, който е 6.9.5към момента на писане:

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

Стъпка 3: Инсталирайте MongoDB

Инсталирайте най-новата MongoDB, както следва, което е 3.4по времето, когато е написана тази статия.

3.1 Създайте MongoDB 3.4 YUM репо, както следва:

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 Инсталирайте и стартирайте най-новата стабилна версия на MongoDB Server, която е 3.4.1по времето, когато е написана тази статия:

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

Стъпка 4: Инсталирайте 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

Забележка: Нормално е да видите няколко npm WARN ...съобщения по време на инсталацията. Просто ги игнорирайте.

Стъпка 5 (по избор): Създайте settings.ymlфайла

Ако искате да персонализирате Let's Chat, можете да създадете файл с име /opt/lets-chat/settings.ymlи след това да поставите вашите персонализирани настройки в него:

sudo cp settings.yml.sample settings.yml

За целите на този урок ще използваме настройките по подразбиране от примерния файл с настройки.

Стъпка 6: Инсталирайте завинаги

Можете да стартирате Let's Chat от /opt/lets-chatдиректорията:

cd /opt/lets-chat
npm start

Резултатът трябва да прилича на:

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

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

Release 0.4.8

За да продължим да работи приложението Let's Chat, нека Ctrl-Cпърво натиснете, за да излезете и след това да инсталираме приложение с име, foreverкоето може да гарантира, че това ще се случи:

sudo npm install forever -g

Използвайте foreverприложението, за да започнете Let's Chat:

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

След като Let's Chat се стартира и стартира, можете да получите достъп до него локално чрез:

http://localhost:5000

Можете да тествате инсталацията си със следната команда:

curl -I http://localhost:5000

Резултатът трябва да бъде подобен на:

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

Стъпка 7: Инсталирайте Nginx като обратен прокси

За да активирате външен уеб достъп, трябва да настроите обратно прокси, Nginx, например, за да пренасочва трафика.

7.1 Инсталирайте Nginx:

sudo yum install nginx -y

7.2 Промяна на настройките на Nginx:

sudo vi /etc/nginx/nginx.conf

Намерете location / {}сегмента в рамките на http {}сегмента:

http {

    location / {
    }

}

Поставете следните редове в location / {}сегмента:

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;

Крайният резултат трябва да бъде:

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

}

Запазете и излезте:

:wq!

7.3 Стартирайте услугата Nginx:

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

7.4 Променете правилата на защитната стена, за да разрешите уеб достъп:

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

Стъпка 8: Уеб достъп

Насочете уеб браузъра си към, за http://203.0.113.1да получите достъп до Let's Chat, и след това щракнете върху I need an accountвръзката, за да регистрирате потребителско име за влизане.

Това е. Благодаря за четенето.

Оставете коментар

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече