Cara Menyebarkan Server Obrolan Memungkinkan pada CentOS 7

Let's Chat adalah aplikasi obrolan sumber terbuka yang dirancang untuk menyediakan layanan olahpesan mandiri untuk tim kecil.

Let's Chat didasarkan pada NodeJS dan MongoDB. Pada artikel ini, kita akan melihat bagaimana cara menyebarkan Let's Chat pada server CentOS 7.

Prasyarat

  • Contoh server CentOS 7 dengan setidaknya 2G RAM. RAM 4G direkomendasikan.
  • Seorang pengguna sudo .

Langkah 1: Perbarui sistem

Saat masuk ke sistem Anda untuk pertama kalinya, perlu melakukan pembaruan seluruh sistem sebagai berikut:

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

Setelah reboot, masuk kembali sebagai pengguna sudo yang sama.

Langkah 2: Instal NodeJS

Instal NodeJS 6.x terbaru sebagai berikut, yang 6.9.5pada saat penulisan:

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

Langkah 3: Instal MongoDB

Instal MongoDB terbaru sebagai berikut, yang 3.4pada saat artikel ini ditulis.

3.1 Buat repo MongoDB 3.4 YUM sebagai berikut:

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 Instal dan mulai rilis stabil terbaru dari Server MongoDB, yang 3.4.1pada saat artikel ini ditulis:

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

Langkah 4: Instal Mari Mengobrol

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

Catatan: Adalah normal untuk melihat beberapa npm WARN ...pesan selama instalasi. Abaikan saja.

Langkah 5 (opsional): Buat settings.ymlfile

Jika Anda ingin menyesuaikan Obrolan Mari, Anda dapat membuat file bernama /opt/lets-chat/settings.ymldan kemudian memasukkan pengaturan khusus Anda di dalamnya:

sudo cp settings.yml.sample settings.yml

Untuk tujuan tutorial ini, kami akan menggunakan pengaturan default dari file pengaturan sampel.

Langkah 6: Instal Selamanya

Anda dapat memulai Mari Mengobrol dari /opt/lets-chatdirektori:

cd /opt/lets-chat
npm start

Outputnya harus menyerupai:

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

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

Release 0.4.8

Untuk menjalankan aplikasi Ayo Obrolan, mari tekan Ctrl-Cpertama untuk keluar dan kemudian instal aplikasi bernama foreveryang dapat memastikan itu akan terjadi:

sudo npm install forever -g

Gunakan foreveraplikasi untuk memulai Mari Mengobrol:

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

Setelah Ayo Obrolan bangkit dan berjalan, Anda dapat mengaksesnya secara lokal melalui:

http://localhost:5000

Anda dapat menguji instalasi Anda dengan perintah di bawah ini:

curl -I http://localhost:5000

Outputnya harus sama dengan:

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

Langkah 7: Instal Nginx sebagai proxy terbalik

Untuk mengaktifkan akses web eksternal, Anda perlu mengatur proxy terbalik, Nginx, misalnya, untuk mengarahkan lalu lintas.

7.1 Pasang Nginx:

sudo yum install nginx -y

7.2 Ubah pengaturan Nginx:

sudo vi /etc/nginx/nginx.conf

Temukan location / {}segmen di dalam http {}segmen:

http {

    location / {
    }

}

Masukkan garis di bawah ini ke dalam location / {}segmen:

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;

Hasil akhirnya harus:

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

}

Simpan dan keluar:

:wq!

7.3 Mulai layanan Nginx:

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

7.4 Memodifikasi aturan firewall untuk memungkinkan akses web:

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

Langkah 8: Akses web

Arahkan browser web Anda http://203.0.113.1untuk mengakses Let's Chat, lalu klik I need an accounttautan untuk mendaftarkan nama pengguna untuk masuk.

Itu dia. Terima kasih sudah membaca.

Tinggalkan Komentar

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Pelajari langkah-langkah untuk memasang Panel Kontrol Hosting Mudah (EHCP) di Ubuntu 16.04 dengan panduan ini.

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.