Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Leanote adalah alternatif percuma, ringan, dan sumber terbuka kepada Evernote, yang ditulis dalam Golang. Dengan mempertimbangkan pengalaman pengguna, Leanote menyediakan banyak ciri praktikal kepada pengguna, termasuk sokongan merentas platform, menulis dalam sintaks MarkDown, blogging awam atau swasta, pengumpulan dan perkongsian pengetahuan, dan kerjasama pasukan.
Dalam artikel ini, saya akan membimbing anda melalui Menyediakan pelayan Leanote pada contoh pelayan CentOS 7. Untuk tujuan keselamatan, membolehkan HTTPS support
menggunakan sijil Let's Encrypt SSL dan Nginx juga akan dilindungi.
203.0.113.1
.leanote
.leanote.example.com
yang ditunjukkan ke contoh pelayan yang disebutkan di atas.Apabila menembak contoh server Vultr CentOS 7 yang baru, ia sentiasa disyorkan untuk menyediakan fail swap untuk memastikan sistem berjalan dengan lancar. Sebagai contoh, membuat fail pertukaran bersaiz 2048MB sesuai untuk mesin dengan memori 2GB.
sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -m
Catatan: Sekiranya anda menggunakan ukuran pelayan yang berbeza, anda mungkin perlu mengubah ukuran fail pertukaran.
Muat turun dan ekstrak keluaran stabil Leanote untuk sistem Linux 64-bit terkini:
cd
wget https://sourceforge.net/projects/leanote-bin/files/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz
tar -zxvf leanote-linux-amd64-v2.6.1.bin.tar.gz
Seperti yang disyaratkan oleh Leanote, MongoDB NoSQL DBMS harus ada sebelum anda berjaya menyiapkan pelayan Leanote.
Buat repo MongoDB 4.0 YUM seperti berikut:
cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
Pasang semua komponen dan alat MongoDB menggunakan repo MongoDB 4.0 YUM yang dibuat sebelumnya:
sudo yum install -y mongodb-org
Secara lalai, MongoDB akan menggunakan 27017
port semasa bekerja, yang tidak dibenarkan jika SELinux berada dalam enforcing
mod pada mesin CentOS 7. Gunakan arahan berikut untuk mengesahkan mod SELinux semasa:
sudo getenforce
Pada contoh pelayan Vultr CentOS 7, SELinux dilumpuhkan secara lalai. Maka output arahan di atas adalah:
Disabled
Dalam kes ini, anda boleh melangkau arahan berikut untuk mengkonfigurasi SELinux dan meneruskannya.
Namun, jika anda menjalankan contoh pelayan CentOS 7 yang asli, output dari perintah di atas adalah Enforcing
. Anda perlu melakukan salah satu daripada tiga pilihan di bawah sebelum anda memulakan dan mengaktifkan perkhidmatan MongoDB.
Pilihan 1: Benarkan MongoDB menggunakan 27017
port
sudo semanage port -a -t mongod_port_t -p tcp 27017
Pilihan 2: Lumpuhkan SELinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
sudo shutdown -r now
Pilihan 3: Tukar permissive
mod SELinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
sudo shutdown -r now
Mulakan perkhidmatan MongoDB dan buatnya bermula selepas reboot sistem:
sudo systemctl start mongod.service
sudo systemctl enable mongod.service
Gunakan arahan di bawah untuk mengimport data Leanote awal ke MongoDB:
rm /home/leanote/leanote/mongodb_backup/leanote_install_data/.DS_Store
mongorestore --host localhost -d leanote --dir /home/leanote/leanote/mongodb_backup/leanote_install_data/
Untuk tujuan keselamatan, anda perlu mendayakan kawalan akses kepada MongoDB sebaik sahaja perkhidmatan MongoDB dijalankan dan dijalankan. Untuk tujuan ini, anda perlu membuat sekurang-kurangnya dua akaun pengguna MongoDB: akaun pentadbir pengguna dan akaun pentadbir pangkalan data. Anda juga perlu mengubah konfigurasi MongoDB.
Masukkan shell MongoDB:
mongo --host 127.0.0.1:27017
Beralih kepada admin
pangkalan data:
use admin
Buat pentadbir pengguna bernama useradmin
yang menggunakan kata laluan useradminpassword
:
db.createUser({ user: "useradmin", pwd: "useradminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
Nota: Pentadbir pengguna useradmin
sepatutnya menguruskan semua pengguna MongoDB, jadi bijak untuk memilih kata laluan yang kuat. Sudah tentu, hujung yang lebih selamat adalah untuk menggantikan useradmin
dengan nama pengguna yang sukar diteka.
Beralih kepada leanote
pangkalan data:
use leanote
Buat pentadbir pangkalan data bernama leanoteadmin
yang menggunakan kata laluan leanoteadminpassword
:
db.createUser({ user: "leanoteadmin", pwd: "leanoteadminpassword", roles: [{ role: "dbOwner", db: "leanote" }] })
Nota : Sekali lagi, adalah disyorkan untuk memilih nama pengguna yang kurang dikenali dan kata laluan yang sukar ditebak.
Mempunyai pengguna MongoDB yang dibuat, anda boleh mengesahkan hasilnya:
use admin
db.auth("useradmin", "useradminpassword")
Sahkan admin pangkalan data:
use leanote
db.auth("leanoteadmin", "leanoteadminpassword")
Kedua-duanya akan dikeluarkan 1
sebagai pengesahan.
Keluar shell MongoDB:
exit
Untuk membolehkan kawalan akses ke MongoDB, anda juga perlu memasukkan dua baris ke fail konfigurasi MongoDB /etc/mongod.conf
, seperti berikut:
sudo bash -c "echo 'security:' >> /etc/mongod.conf"
sudo bash -c "echo ' authorization: enabled' >> /etc/mongod.conf"
Mulakan semula perkhidmatan MongoDB untuk melaksanakan pengubahsuaian:
sudo systemctl restart mongod.service
Mulai sekarang, anda hanya boleh menggunakan kedua-dua akaun pengguna untuk mengakses dan mengurus MongoDB, useradmin
untuk mengurus semua pengguna MongoDB dan leanoteadmin
menguruskan leanote
pangkalan data sahaja.
Sandarkan fail konfigurasi Leanote /home/leanote/leanote/conf/app.conf
:
cd /home/leanote/leanote/conf/
cp app.conf app.conf.bak
Gunakan vi
editor untuk membuka fail konfigurasi Leanote:
vi app.conf
Cari baris berikut satu persatu:
site.url=http://localhost:9000
db.username= # if not exists, please leave it blank
db.password= # if not exists, please leave it blank
app.secret=V85ZzBeTnzpsHyjQX4zukbQ8qqtju9y2aDM55VWxAH9Qop19poekx3xkcDVvrD0y
Gantikan mereka, seperti yang ditunjukkan di bawah:
site.url=http://leanote.example.com:9000
db.username=leanoteadmin
db.password=leanoteadminpassword
app.secret=E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
Nota: Untuk tujuan keselamatan, nilai app.secret
parameter MESTI menjadi rentetan rawak 64-bit yang berbeza dari yang asal. Pastikan untuk menggantikan nilai E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
dengan nilai rawak 64-bit anda sendiri.
Simpan dan tutup:
:wq!
Ubah peraturan firewall untuk membolehkan lalu lintas TCP masuk di port 9000
:
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo systemctl reload firewalld.service
Mula Leanote menggunakan skrip rasmi:
cd /home/leanote/leanote/bin
bash run.sh
Apabila melihat Listening on.. 0.0.0.0:9000
, http://leanote.example.com:9000
tunjuk pelayar web kegemaran anda untuk mula menggunakan laman Leanote.
Gunakan akaun admin Leanote lalai untuk log masuk:
admin
abc123
Untuk tujuan keselamatan, anda harus menukar kata laluan lalai sebaik sahaja mendaftar masuk.
HTTPS
aksesBuat masa ini, anda boleh mengakses pelayan Leanote menggunakan protokol HTTP, protokol yang kurang selamat. Untuk meningkatkan keselamatan sistem, anda boleh mendayakan HTTPS
dengan menggunakan kedua-dua Let's Encrypt Sertifikat SSL dan proxy terbalik Nginx pada mesin anda.
Sebelum anda boleh mendapatkan Sijil SSL Letakkan Sijil, anda perlu menyiapkan nama hos dan FQDN dengan betul pada mesin anda.
Pertama, tekan CTRL+ Cuntuk menghentikan skrip Leanote run.sh
.
Seterusnya, sediakan nama hos dan FQDN seperti berikut:
sudo hostnamectl set-hostname leanote
cat <<EOF | sudo tee /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 leanote.example.com leanote
EOF
Anda boleh mengesahkan hasilnya, juga:
hostname
hostname -f
Sekat lalu lintas masuk di pelabuhan 9000
dan biarkan lalu lintas masuk di pelabuhan untuk HTTP
dan HTTPS
perkhidmatan:
sudo firewall-cmd --permanent --remove-port=9000/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service
Pasang utiliti Certbot:
sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot
Memohon untuk Sijil Sijil SSL untuk domain leanote.example.com
:
sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d leanote.example.com
Sijil dan rantai akan disimpan seperti berikut:
/etc/letsencrypt/live/leanote.example.com/fullchain.pem
Fail kunci peribadi akan disimpan seperti berikut:
/etc/letsencrypt/live/leanote.example.com/privkey.pem
Secara lalai, sijil Let's Encrypt SSL akan tamat dalam tiga bulan. Anda boleh menyiapkan tugas cron, seperti yang ditunjukkan di bawah, untuk memperbaharui sijil Let's Encrypt anda secara automatik:
sudo crontab -e
Tekan Iuntuk masuk ke insert
mod, kemudian masukkan baris berikut:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
Simpan dan tutup:
:wq!
Pekerjaan cron ini akan cuba memperbaharui sijil Let's Encrypt setiap hari pada waktu tengah hari.
Pasang Nginx menggunakan repo YUM repo:
sudo yum install -y nginx
Buat fail konfigurasi untuk Leanote:
cat <<EOF | sudo tee /etc/nginx/conf.d/leanote.conf
# Redirect HTTP to HTTPS
server {
listen 80;
server_name leanote.example.com;
return 301 https://\$server_name\$request_uri;
}
server {
# Setup HTTPS certificates
listen 443 default ssl;
server_name leanote.example.com;
ssl_certificate /etc/letsencrypt/live/leanote.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/leanote.example.com/privkey.pem;
# Proxy to the Leanote server
location / {
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Host \$http_host;
proxy_set_header Host \$http_host;
proxy_max_temp_file_size 0;
proxy_pass http://127.0.0.1:9000;
proxy_redirect http:// https://;
}
}
EOF
Mulakan semula Nginx untuk melaksanakan pengubahsuaian anda:
sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
Ubah site.url
tetapan dalam fail konfigurasi Leanote:
cd /home/leanote/leanote/conf/
vi app.conf
Cari baris berikut:
site.url=http://leanote.example.com:9000
Gantikannya:
site.url=https://leanote.example.com
Simpan dan tutup:
:wq!
Jalankan skrip Leanote sekali lagi:
cd /home/leanote/leanote/bin
bash run.sh
Sekarang, arahkan pelayar web kegemaran anda http://leanote.example.com/
, dan anda akan mendapati bahawa HTTPS
protokol diaktifkan secara automatik. Cukup log masuk sebagai admin
pengguna dengan kata laluan baru yang anda siapkan lebih awal atau daftarkan akaun pengguna baru untuk kerjasama pasukan.
Sekali lagi, tekan CTRL+ Cuntuk menghentikan skrip Leanote. Kami akan memalsukan skrip ini kemudian.
wkhtmltopdf
programLeanote memilih untuk menggunakan wkhtmltopdf
program ini untuk mengeksport laman HTML sebagai fail PDF. Pasang wkhtmltopdf
:
cd
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
sudo yum localinstall -y wkhtmltox-0.12.5-1.centos7.x86_64.rpm
which wkhtmltopdf
Jangan lupa untuk menghantar wkhtmltopdf
jalur perduaan /usr/local/bin/wkhtmltopdf
di Export PDF
bahagian di papan pemuka pentadbir web Leanote ketika Leanote kembali aktif.
Nota: Jika anda mendapati aksara yang tidak boleh dibaca dalam fail PDF yang dieksport, anda boleh cuba membetulkan masalah dengan menambah fail font yang diperlukan ke /usr/share/fonts/
direktori.
Untuk memastikan tapak Leanote anda dalam talian, anda boleh menggunakan utiliti Penyelia untuk memulakan skrip Leanote secara automatik jika ia terhempas.
Pasang Supervisor menggunakan YUM:
sudo yum install -y supervisor
Buat .ini
fail Penyelia ringkas untuk Leanote:
cat <<EOF | sudo tee /etc/supervisord.d/leanote.ini
[program:leanote]
command=bash /home/leanote/leanote/bin/run.sh
directory=/home/leanote/leanote/bin/
priority=999
autostart=true
autorestart=true
user=leanote
redirect_stderr=true
EOF
Mulakan perkhidmatan Penyelia, serta perkhidmatan Leanote:
sudo supervisord -c /etc/supervisord.conf
Sahkan status perkhidmatan Leanote:
sudo supervisorctl status leanote
Output akan menyerupai yang berikut:
leanote RUNNING pid 3707, uptime 0:02:36
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