Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Ruby on Rails adalah kerangka kerja web populer untuk Ruby yang dikembangkan untuk meningkatkan produktivitas programmer. Namun, mendapatkan berbagai permata dan dependensi untuk bekerja bersama terkadang menjadi rumit. Panduan ini akan membantu Anda mengatur lingkungan Rails siap produksi penuh termasuk permata dan dependensi yang umum digunakan.
Catatan : Sangat disarankan untuk tidak menginstal salah satu dari layanan ini sebagai root, karena Anda mungkin akan terkena serangan. Menyiapkan deploy
atau app
pengguna adalah konvensi umum:
sudo adduser deploy
sudo adduser deploy sudo
su deploy
Pastikan Anda menjalankan semua paket terbaru di Ubuntu VM Anda:
sudo apt-get update && sudo apt-get upgrade -y
Agar dapat mengkompilasi Ruby menggunakan rbenv dan permata lainnya, berbagai paket perlu diinstal. Bergantung pada versi Ruby yang Anda perlukan, beberapa paket mungkin tidak diperlukan.
sudo apt-get install -y curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev
sudo apt-get install -y libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev
sudo apt-get install -y python-software-properties libffi-dev
sudo apt-get install -y build-essential openssl libreadline6 libreadline6-dev libreadline-dev
sudo apt-get install -y automake libtool bison pkg-config bison autoconf libc6-dev ncurses-dev
sudo apt-get install -y libapr1-dev libaprutil1-dev libx11-dev libffi-dev tcl-dev tk-dev
Ini diperlukan untuk mengkompilasi beberapa permata, seperti Penumpang:
sudo apt-get install -y zlib1g zlib1g-dev libssl-dev libyaml-dev libcurl4-openssl-dev libruby
Komunitas Ruby menggunakan Git sebagai SCM pilihan; tetapi yang tambahan, seperti Mercurial atau Subversion, dapat diinstal juga:
sudo apt-get install -y git git-core
sudo apt-get install -y libmysqld-dev mysql-client libmysqlclient-dev
Diperlukan untuk beberapa permata populer yang membutuhkan lib XML asli:
sudo apt-get install -y libxml2-dev libxslt-dev
Tambahkan repositori resmi dari Node dengan versi terbaru karena repositori default Ubuntu cenderung ketinggalan beberapa versi utama:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Paket-paket ini tidak diperlukan untuk menjalankan sistem, tetapi baik untuk dimiliki jika Anda perlu menggunakan permata tertentu.
Pustaka ini tidak diperlukan dan dapat dilewati kecuali Anda berencana untuk menggunakan permata manipulasi gambar; seperti Rmagick:
sudo apt-get install -y imagemagick libmagickwand-dev libvips-dev
Instal driver untuk SQLite atau PostgreSQL jika Anda perlu terhubung ke database lain atau lebih suka DB lokal yang sederhana:
sudo apt-get install -y libsqlite3-dev sqlite3 libpq-dev postgresql postgresql-contrib
Utilitas yang biasanya tidak diinstal pada instal Ubuntu baru. Jangan ragu untuk menginstal editor teks pilihan Anda:
sudo apt-get install -y iotop htop nano vim
MariaDB adalah server SQL relasional yang kuat, yang sepenuhnya kompatibel dengan MySQL. Cara termudah untuk menginstal versi terbaru MariaDB adalah menggunakan repositori resmi:
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386] http://ftp.utexas.edu/mariadb/repo/10.2/ubuntu zesty main'
sudo apt update
sudo apt install -y mariadb-server
Ikuti petunjuknya dan atur kata sandi root. Setelah itu, verifikasi bahwa Anda dapat mengakses instalasi baru Anda:
mysql -V
Ini akan menampilkan garis yang mirip dengan ini:
mysql Ver 15.1 Distrib 10.2.8-MariaDB, for debian-linux-gnu (x86_64) using readline 5
Login ke shell MySQL:
mysql -h localhost -u root -p
Catatan : gunakan \q
untuk keluar.
Instal Rbenv menggunakan git. Ini adalah metode pemasangan yang paling sederhana, dan memungkinkan pembaruan yang mudah nanti. Juga instal ruby-build
, bertanggung jawab untuk benar-benar mengkompilasi berbagai versi Ruby:
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Catatan : Saat Anda perlu memperbarui secara sederhana cd ~/.rbenv
dan git pull
.
Jadikan Rbenv dan Ruby-build tersedia di shell. Untuk memastikan bahwa garis ekspor bisa dimasukkan pada awal dari .bashrc
file, yang penting untuk perintah pesta non-interaktif, menggunakan baris ini:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.temp_bashrc
echo 'eval "$(rbenv init -)"' >> ~/.temp_bashrc
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.temp_bashrc
cat ~/.temp_bashrc ~/.bashrc > ~/.combined_bashrc && mv ~/.combined_bashrc ~/.bashrc && rm ~/.temp_bashrc
exec $SHELL
Periksa apakah Rbenv dan Ruby-build terpasang dan tersedia di shell:
rbenv install --list
Jika rbenv
tidak dikenali, logout dan masuk kembali ke shell.
Buat ~/.bash_profile
file dan arahkan ke sumber ~/.bashrc
file Anda . Jika Anda perlu menjalankan perintah shell non-interaktif dari aplikasi Rails Anda, seperti pengaturan tugas cron oleh whenever
gem, itu akan menggunakan versi yang sama dari Ruby sebagai shell interaktif Anda. Ini dapat membantu mencegah kesalahan aneh. Tambahkan baris ini ke ~/.bash_profile
file:
if [ -f $HOME/.bashrc ]; then
source $HOME/.bashrc
fi
Instal Ruby 2.4.1:
rbenv install 2.4.1
Catatan : Proses ini mungkin memakan waktu 5-15 menit tergantung pada sumber daya pada VM Anda, dan tidak ada bilah kemajuan.
Jadikan Rbenv tersedia di mana-mana.
rbenv global 2.4.1
Tambahkan kunci PGP dan dukungan HTTPS untuk apt:
sudo apt-get install -y dirmngr gnupg
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo apt-get install -y apt-transport-https ca-certificates
Tambahkan repositori Penumpang:
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger zesty main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update
Pasang modul Penumpang + Nginx:
sudo apt-get install -y nginx
sudo apt-get install -y libnginx-mod-http-passenger
Kunjungi instance Vultr Anda menggunakan nama domain atau IP untuk mengujinya pada saat ini. Jika berfungsi, halaman Anda akan menampilkan halaman selamat datang Nginx default.
Instal Bundler dan Rails:
gem install bundler rails --no-ri --no-rdoc
Konvensi Ubuntu / Debian adalah untuk mengatur aplikasi Anda di /var/www
. Secara default hanya dapat ditulis oleh root. Agar pengaturan berfungsi, berikan kepemilikan kepada pengguna sudo deploy
:
sudo chown deploy:deploy /var/www -R
Buat aplikasi rel di /var/www/
. Jika Anda sudah memiliki aplikasi yang ingin Anda gunakan, di git clone
sini lalu jalankan bundle
:
cd /var/www
rails new example --database=mysql
Persiapan Nginx.
sudo nano /etc/nginx/nginx.conf
Ubah pengguna menjadi deploy
.
user deploy;
Di http
bagian konfigurasi, harus ada garis yang memberitahu Nginx untuk memuat modul termasuk penumpang. Jika tidak ada, Anda dapat menambahkannya setelah Virtual Host Configs
judul, tetapi sebelumnya sites-enabled
.
include /etc/nginx/conf.d/*.conf;
Edit / buat passenger.conf
file.
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
Beri tahu Penumpang untuk menggunakan pengaturan Rbenv kami. Ini mungkin berisi garis yang menunjuk ke versi Ruby yang disertakan dengan Penumpang, cukup hapus atau komentar saja.
passenger_ruby /home/deploy/.rbenv/shims/ruby;
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
Siapkan host virtual untuk menunjuk ke aplikasi di /var/www/example/
.
sudo nano /etc/nginx/sites-enabled/example.conf
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example/public;
passenger_enabled on;
# When you are ready to switch to production mode - change this to `production`
passenger_app_env development; # <-- !important
}
Mulai ulang Nginx.
sudo service nginx restart
Pada titik ini aplikasi Anda siap digunakan dalam mode pengembangan. Untuk beralih ke mode produksi, Anda perlu kembali ke konfigurasi Nginx Anda dan mengubah rails_env
pengaturan ke production
.
Sebelum Anda beralih ke mode produksi, Anda masih perlu untuk setup database produksi Anda example_production
, database.yml
dan kunci rahasia. Periksa alat seperti Capistrano atau Mina untuk mempercepat proses penyebaran aplikasi Anda. Ini adalah praktik yang baik untuk menggunakan variabel ENV dengan permata seperti dotenv
, dan jangan komit kata sandi, kunci rahasia dan semacamnya ke repositori git Anda.
Ada beberapa layanan di luar sana yang menawarkan sertifikat SSL untuk domain Anda, banyak yang dibayar dan pasangan gratis. Setup SSL tidak peduli layanan apa yang Anda gunakan. Let's Encrypt sangat mudah, dan gratis, untuk digunakan. Let's Encrypt adalah organisasi nirlaba yang didukung oleh banyak raksasa teknologi.
Jalankan perintah berikut, dan ikuti petunjuknya.
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx
sudo certbot --nginx
sudo certbot renew --dry-run
Jika Anda pergi ke instance Vultr Anda sekarang menggunakan HTTPS
, Anda akan melihat situs web yang aman.
Sertifikat Anda yang baru dikeluarkan akan kedaluwarsa, dan perlu diperbarui secara berkala. Cara termudah untuk melakukan ini adalah mengatur pekerjaan cron.
sudo crontab -e
30 2 * * 1 /usr/bin/certbot renew
Sebagai langkah final, tetapi opsional, reboot VM Anda dan pastikan semua layanan restart seperti yang diharapkan.
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
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'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
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.
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?
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.
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!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.
Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut