Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Dalam tutorial ini, kita akan menyediakan pelayan web dengan proksi terbalik. CMS yang akan kami gunakan adalah Keystone.js, kerangka aplikasi web terkenal berdasarkan Express.js. Proksi terbalik yang akan kita gunakan adalah Nginx, yang merupakan proksi terbalik sumber bebas dan terbuka, serta pelayan HTTP. Pangkalan data yang akan kami gunakan adalah MongoDB, pangkalan data dokumen NoSQL. Ini memerlukan anda mempunyai domain dengan catatan disiapkan. Sekiranya anda tidak mempunyai set itu, teruskan dan selesaikannya, dan kembali ke tutorial ini.
Pertama, kami akan memasang Node.js, yang merupakan jurubahasa Javascript berdasarkan enjin Javascript Chrome V8.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
Seterusnya, kami akan memasang Nginx, proksi terbalik kami.
sudo apt update
sudo apt install nginx
Ini akan mengemas kini senarai pakej, dan memasang Nginx. Setelah pemasangan selesai, kami akan menyiapkan projek simpul kami.
Buat projek simpul kami. Untuk melakukannya, cukup buat folder baru.
mkdir website
Kemudian, kami akan membuat package.json
fail kami . Untuk melakukannya, jalankan npm init
di terminal anda, isikan medan, dan balas " yes
" untuk mengesahkan. Setelah anda membuat package.json
fail, maka kami akan memasang modul simpul berikut.
sudo npm install -g generator-keystone
sudo npm install -g yo
Setelah selesai memuat turun, jalankan yang berikut.
yo keystone
Isi bidang yang diperlukan. Ia akan meminta anda untuk project name
, yang template engine
, email
untuk panel kawalan, dan sebagainya. Sekiranya anda tidak tahu apa yang harus dipilih, maka lalai akan baik-baik saja. Setelah anda mengatur konfigurasi keystone anda, kami dapat menguji untuk melihat apakah pelayan kami berjalan dengan menaip node keystone
untuk memulakan aplikasi anda. Secara lalai, aplikasi anda akan berjalan di localhost
, di port 3000
. Perhatikan bahawa jika anda tidak memasang MongoDB, pangkalan data tidak akan tersedia untuk anda dengan segera. Anda boleh belajar memasangnya kemudian dalam tutorial.
Berikut adalah susun atur direktori asas untuk Keystone.js:
/lib
- Di sinilah anda akan menyimpan perpustakaan tersuai anda, dan kod lain.
/models
- Di sinilah anda akan menyimpan model pangkalan data aplikasi anda. KeystoneJS menggunakan MongoDB sebagai penyedia pangkalan data.
/public
- Di sinilah fail statik anda (CSS, JS, gambar dan sebagainya) akan disimpan.
/routes/api
- Di sinilah pengawal API aplikasi anda akan disimpan.
/routes.views
- Pengawal paparan aplikasi akan disimpan di sini.
/templates
- Di sinilah semua fail templat aplikasi anda akan disimpan.
/updates
- Di sinilah skrip migrasi anda akan disimpan.
package.json
- Ini adalah fail konfigurasi npm anda yang dihasilkan penjana untuk kami.
keystone.js
- Fail permulaan utama kami, kami menjalankannya semasa memulakan laman web.
Seperti yang telah disebutkan sebelumnya, pangkalan data kami yang akan kami gunakan adalah MongoDB, yang merupakan pangkalan data berorientasikan dokumen NoSQL yang boleh dipercayai. Sekiranya anda telah memasang MongoDB, anda boleh melangkau bahagian ini. Sekiranya tidak, inilah cara memasangnya di Ubuntu 16.04.
Import kunci awam yang digunakan untuk pakej mongoDB.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Buat fail senarai yang digunakan untuk memasang pakej.
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Kemas kini senarai pakej anda menggunakan apt
.
sudo apt update
Akhirnya, pasang MongoDB.
sudo apt install mongodb-org -y
Apabila pemasangan ini selesai, mulakan MongoDB.
sudo service mongod start
Ini akan memulakan proses MongoDB di pelabuhan 27017
.
MongoDB akan digunakan di seluruh aplikasi, dan akan digunakan untuk menyimpan maklumat yang kami gunakan untuk model kami, misalnya User
model. Keystone menggunakannya sebagai pangkalan data pilihan, dan pada masa ini anda tidak dapat menggunakan vendor pangkalan data lain.
Kini tiba masanya untuk memasang PM2 (Process Manager 2.) PM2 adalah pengurus proses untuk aplikasi Node.js, dalam bentuk modul npm. Ini menyediakan cara mudah bagi anda untuk menguruskan aplikasi dan menjalankannya di latar belakang. Kerana ada di NPM, yang perlu kita lakukan untuk memasangnya adalah seperti berikut.
sudo npm install pm2 -g
Ini memberitahu npm untuk memasangnya secara global, jadi kami dapat menggunakannya di mana saja di sistem kami.
Sebelumnya, kami menjalankan aplikasi web kami dengan node keystone
. Dengan PM2, ia sedikit berbeza. Kami kini menjalankan aplikasi nod kami dengan yang berikut.
pm2 start keystone.js
Ini akan menambahkan aplikasi PM2 kami ke senarai proses kami, dan kotak kecil akan dipaparkan sehingga anda dapat melihat bahawa aplikasi itu memang dalam talian. Perhatikan kotak berlabel id
untuk proses anda. Jauhkan ini, kerana kita akan membuat banyak rujukan mengenai perkara ini di kemudian hari.
Untuk melihat log aplikasi anda.
pm2 logs [id]
Contohnya, pm2 logs 0
jika ini adalah aplikasi PM2 pertama anda.
Untuk menghentikan aplikasi web anda pada bila-bila masa.
pm2 stop [id]
Untuk memadam sepenuhnya aplikasi anda.
pm2 delete [id]
PM2 bahkan mempunyai dashboard pemantauan jika anda ingin melihat beberapa statistik asas untuk aplikasi anda, dan anda boleh mengaksesnya dengan ini.
pm2 monit
Ini akan menunjukkan beberapa maklumat asas seperti penggunaan RAM, penggunaan CPU, dan waktu operasi.
Ciri hebat yang ditawarkan oleh PM2 adalah watching
. Pada dasarnya, menonton adalah ketika PM2 mengesan secara automatik perubahan pada mana-mana fail dalam direktori yang sama dengan fail permulaan anda, dan secara automatik akan memulakan semula aplikasi anda. Untuk mengaktifkannya, mulakan semula aplikasi anda, tetapi berikan bendera jam tangan.
pm2 restart [id] --watch
Untuk mematikan menonton setelah diaktifkan, jalankan perintah yang sama sekali lagi, dan menonton akan dilumpuhkan.
Dalam tutorial ini, kita akan berhenti menonton.
Pastikan Nginx dipasang. Sekiranya atas sebab tertentu tidak, rujuk langkah-langkah di atas.
Laraskan tetapan firewall anda. Di Ubuntu, ufw
adalah firewall rasmi. Secara lalai, sambungan disekat di port 80
. Kita perlu menambah pengecualian untuk Nginx di port 80
, yang mana aplikasi web kita akan berjalan.
sudo ufw allow 'Nginx HTTP'
Sahkan bahawa pelayan Nginx anda sedang berjalan.
systemctl status nginx
Di bawah Active
bahagian, jika anda lihat active (running)
, maka anda sudah siap. Sekiranya tidak, anda boleh cuba memulakan semula perkhidmatan.
systemctl restart nginx
Padamkan fail konfigurasi Nginx lalai.
sudo rm /etc/nginx/sites-available/default
Buat yang baru, dan sebut saja node
.
sudo nano /etc/nginx/sites-available/node
Tampalkan yang berikut ke dalam fail, dan ganti example.com
dengan domain laman web anda.
listen 80;
server_name example.com;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://127.0.0.1:3000";
}
}
Perhatikan bahawa proxy_pass
menandakan IP aplikasi Keystone kami dijalankan secara tempatan, yang berada localhost
di port 3000
. listen 80
adalah port yang kita mahukan aplikasi diarahkan, yang dalam kes ini adalah port 80
.
Kemudian, kita perlu membuat pautan symlink, atau simbolik ke folder yang dipanggil sites-enabled
. Perbezaan antara sites-enabled
dan sites-available
yang sites-enabled
sebenarnya dimuat oleh Nginx.
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node
Sekarang fail konfigurasi anda sites-available
akan siap digunakan, dan fail akan dimuat dari sites-enabled
. Untuk menggunakan konfigurasi sehingga berkesan, mulakan semula Nginx.
sudo systemctl restart nginx
Akhirnya, mulakan semula aplikasi PM2 anda
pm2 restart [id]
Sekarang anda boleh menavigasi ke domain anda dalam penyemak imbas, dan anda akan melihat Welcome to Keystone
skrin, dengan panel untuk anda log masuk.
Sekiranya anda melihatnya, anda telah berjaya menyediakan pelayan web pengeluaran Node.js. Sekiranya tidak, anda mungkin telah melakukan langkah yang tidak betul, dan anda mungkin mahu kembali dan mengikuti setiap langkah dengan teliti.
Anda boleh mengetahui lebih lanjut mengenai Nginx dengan melayari laman web mereka .
Saya harap anda menikmati tutorial ini, dan saya harap ini dapat membantu anda menyediakan pelayan web anda sendiri untuk pengeluaran di Vultr VPS anda.
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut