Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ruby on Rails adalah kerangka web popular untuk Ruby yang dibangunkan untuk meningkatkan produktiviti pengaturcara. Walau bagaimanapun, mendapatkan pelbagai permata dan pergantungan untuk bekerjasama kadang-kadang sukar. Panduan ini akan membantu anda mengatur persekitaran Rel siap produksi sepenuhnya termasuk permata dan pergantungan yang biasa digunakan.
Catatan : Sebaiknya jangan memasang perkhidmatan ini sebagai root, kerana anda mungkin akan menyerang diri sendiri. Menetapkan deploy
atau app
pengguna adalah konvensyen biasa:
sudo adduser deploy
sudo adduser deploy sudo
su deploy
Pastikan anda menjalankan semua pakej terbaru di Ubuntu VM anda:
sudo apt-get update && sudo apt-get upgrade -y
Untuk dapat menyusun Ruby menggunakan rbenv dan permata lain, pelbagai pakej perlu dipasang. Bergantung pada versi Ruby yang anda perlukan, beberapa pakej 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 menyusun beberapa permata, seperti Penumpang:
sudo apt-get install -y zlib1g zlib1g-dev libssl-dev libyaml-dev libcurl4-openssl-dev libruby
Komuniti Ruby menggunakan Git sebagai pilihan SCM; tetapi yang tambahan, seperti Mercurial atau Subversion, juga boleh dipasang:
sudo apt-get install -y git git-core
sudo apt-get install -y libmysqld-dev mysql-client libmysqlclient-dev
Diperlukan untuk beberapa permata popular yang memerlukan lib XML asli:
sudo apt-get install -y libxml2-dev libxslt-dev
Tambahkan repositori rasmi dari Node dengan versi terkini kerana repositori Ubuntu lalai cenderung ketinggalan beberapa versi utama:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Pakej ini tidak diperlukan agar sistem dapat dijalankan, tetapi bagus jika anda perlu menggunakan permata tertentu.
Perpustakaan ini tidak perlu dan boleh dilangkau kecuali anda merancang untuk menggunakan permata manipulasi gambar; seperti Rmagick:
sudo apt-get install -y imagemagick libmagickwand-dev libvips-dev
Pasang pemacu untuk SQLite atau PostgreSQL jika anda perlu menyambung ke pangkalan data lain atau lebih suka DB tempatan yang mudah:
sudo apt-get install -y libsqlite3-dev sqlite3 libpq-dev postgresql postgresql-contrib
Utiliti yang biasanya tidak diprapasang pada pemasangan Ubuntu baru. Jangan ragu untuk memasang editor teks pilihan anda:
sudo apt-get install -y iotop htop nano vim
MariaDB adalah pelayan SQL hubungan yang kuat, yang serasi sepenuhnya dengan MySQL. Kaedah termudah untuk memasang versi terbaru MariaDB adalah menggunakan repositori rasmi:
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 arahan dan sediakan kata laluan root. Selepas itu, sahkan bahawa anda boleh mengakses pemasangan baru anda:
mysql -V
Ia akan memaparkan garis yang serupa dengan ini:
mysql Ver 15.1 Distrib 10.2.8-MariaDB, for debian-linux-gnu (x86_64) using readline 5
Log masuk ke shell MySQL:
mysql -h localhost -u root -p
Catatan : gunakan \q
untuk keluar.
Pasang Rbenv menggunakan git. Ini adalah kaedah pemasangan yang paling mudah, dan ini membolehkan kemas kini dengan mudah kemudian. Pasang juga ruby-build
, ia bertanggungjawab untuk menyusun versi Ruby yang berbeza:
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Catatan : Apabila anda perlu mengemas kini secara sederhana cd ~/.rbenv
dan git pull
.
Jadikan Rbenv dan Ruby-build tersedia di cangkerang. Untuk memastikan bahawa garis-garis eksport mendapatkan dimasukkan pada awal daripada .bashrc
fail, yang penting untuk arahan bash bukan interaktif, menggunakan ayat-ayat 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 sama ada Rbenv dan Ruby-build dipasang dan tersedia dalam cengkerang:
rbenv install --list
Sekiranya rbenv
tidak dikenali, log keluar dan masuk semula ke dalam cangkang.
Buat ~/.bash_profile
fail dan arahkan ke sumber ~/.bashrc
fail anda . Sekiranya anda perlu menjalankan perintah shell yang tidak interaktif dari aplikasi Rails anda, seperti penyediaan tugas cron oleh whenever
permata, ia akan menggunakan versi Ruby yang sama dengan shell interaktif anda. Ini dapat membantu mengelakkan kesilapan pelik. Tambahkan baris ini ke ~/.bash_profile
fail:
if [ -f $HOME/.bashrc ]; then
source $HOME/.bashrc
fi
Pasang Ruby 2.4.1:
rbenv install 2.4.1
Catatan : Proses ini mungkin mengambil masa 5-15 minit bergantung pada sumber pada VM anda, dan tidak ada bar kemajuan.
Jadikan Rbenv tersedia di mana-mana sahaja.
rbenv global 2.4.1
Tambahkan kunci PGP dan sokongan 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 Passenger + Nginx:
sudo apt-get install -y nginx
sudo apt-get install -y libnginx-mod-http-passenger
Lawati contoh Vultr anda menggunakan nama domain atau IP untuk mengujinya pada ketika ini. Sekiranya mereka berfungsi, halaman anda akan menunjukkan halaman selamat datang Nginx lalai.
Pasang Bundler dan Rel:
gem install bundler rails --no-ri --no-rdoc
Konvensyen Ubuntu / Debian adalah untuk menyiapkan aplikasi anda /var/www
. Secara lalai, ia hanya boleh ditulis oleh root. Agar penyediaan berfungsi, berikan hak milik kepada pengguna sudo deploy
:
sudo chown deploy:deploy /var/www -R
Hasilkan aplikasi rel di /var/www/
. Sekiranya anda sudah mempunyai aplikasi yang ingin anda gunakan, git clone
jalankan di sini dan kemudian jalankan bundle
:
cd /var/www
rails new example --database=mysql
Persediaan Nginx.
sudo nano /etc/nginx/nginx.conf
Tukar pengguna ke deploy
.
user deploy;
Di http
bahagian konfigurasi, harus ada garis yang memberitahu Nginx memuat modul termasuk penumpang. Sekiranya tiada, anda boleh menambahkannya tepat selepas Virtual Host Configs
tajuk, tetapi sebelumnya sites-enabled
.
include /etc/nginx/conf.d/*.conf;
Edit / buat passenger.conf
fail.
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
Beritahu Penumpang untuk menggunakan persediaan Rbenv kami. Ini mungkin mengandungi garis yang menunjuk ke versi Ruby yang disertakan dengan Passenger, hapus atau beri komen.
passenger_ruby /home/deploy/.rbenv/shims/ruby;
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
Sediakan hos maya untuk menunjuk ke aplikasi /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
}
Mulakan semula Nginx.
sudo service nginx restart
Pada ketika ini aplikasi anda sudah siap digunakan dalam mod pembangunan. Untuk beralih ke mod pengeluaran anda perlu kembali ke konfigurasi Nginx anda dan ubah rails_env
tetapannya menjadi production
.
Sebelum anda beralih ke mod pengeluaran, anda masih perlu untuk persediaan pangkalan data pengeluaran anda example_production
, database.yml
dan kunci rahsia. Lihat alat seperti Capistrano atau Mina untuk mempercepat proses penyebaran aplikasi anda. Adalah praktik yang baik untuk menggunakan pemboleh ubah ENV dengan permata seperti dotenv
, dan jangan memasukkan kata laluan, kunci rahsia dan sebagainya ke git repositori anda.
Terdapat banyak perkhidmatan di luar sana yang menawarkan sijil SSL untuk domain anda, banyak yang berbayar dan sepasang percuma. Sediakan SSL tidak kira perkhidmatan apa yang anda gunakan. Let's Encrypt sangat mudah, dan percuma, digunakan. Let's Encrypt adalah organisasi bukan keuntungan yang disokong oleh banyak syarikat gergasi teknologi.
Jalankan arahan berikut, dan ikuti arahannya.
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
Sekiranya anda menggunakan instance Vultr anda sekarang HTTPS
, anda akan melihat laman web yang selamat.
Sijil yang baru dikeluarkan akan tamat dan perlu diperbaharui secara berkala. Cara termudah untuk melakukan ini adalah dengan menyiapkan pekerjaan cron.
sudo crontab -e
30 2 * * 1 /usr/bin/certbot renew
Sebagai langkah terakhir, tetapi pilihan, but semula VM anda dan pastikan semua perkhidmatan dimulakan semula seperti yang diharapkan.
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