26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Ruby on Rails, bir programcının verimliliğini artırmak için geliştirilen Ruby için popüler bir web çerçevesidir. Bununla birlikte, çeşitli mücevherlerin ve bağımlılıkların birlikte çalışması bazen zor olabilir. Bu kılavuz, yaygın olarak kullanılan taşlar ve bağımlılıklar dahil, üretime hazır eksiksiz bir Rails ortamı kurmanıza yardımcı olacaktır.
Not : Kendinizi bir saldırıya maruz bırakabileceğiniz için bu hizmetlerin hiçbirini kök olarak yüklememeniz önemle tavsiye edilir. Bir kullanıcı deploy
veya app
kullanıcı kurmak yaygın bir kuraldır:
sudo adduser deploy
sudo adduser deploy sudo
su deploy
Ubuntu VM'nizde en son paketleri çalıştırdığınızdan emin olun:
sudo apt-get update && sudo apt-get upgrade -y
Ruby'yi rbenv ve diğer mücevherleri kullanarak derleyebilmek için çeşitli paketlerin kurulması gerekir. İhtiyacınız olan Ruby sürümüne bağlı olarak, bazı paketlere gerek olmayabilir.
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
Bunlar Yolcu gibi çeşitli mücevherleri derlemek için gereklidir:
sudo apt-get install -y zlib1g zlib1g-dev libssl-dev libyaml-dev libcurl4-openssl-dev libruby
Ruby topluluğu Git'i bir SCM olarak kullanıyor; ancak Mercurial veya Subversion gibi ekler de kurulabilir:
sudo apt-get install -y git git-core
sudo apt-get install -y libmysqld-dev mysql-client libmysqlclient-dev
Yerel XML kütüphaneleri gerektiren birkaç popüler mücevher için gereklidir:
sudo apt-get install -y libxml2-dev libxslt-dev
Varsayılan Ubuntu depoları birkaç büyük sürümün gerisinde kalmaya meyillidir: Düğümden en son sürümü içeren resmi depoları ekleyin:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Bu paketler sistemin çalışması için gerekli değildir, ancak belirli mücevherleri kullanmanız gerekiyorsa sahip olmak iyidir.
Bu kütüphaneler gerekli değildir ve görüntü düzenleme mücevherleri kullanmayı planlamıyorsanız atlanabilir; Rmagick gibi:
sudo apt-get install -y imagemagick libmagickwand-dev libvips-dev
Diğer veritabanlarına bağlanmanız veya basit, yerel bir DB'yi tercih etmeniz gerekiyorsa SQLite veya PostgreSQL için sürücüleri yükleyin:
sudo apt-get install -y libsqlite3-dev sqlite3 libpq-dev postgresql postgresql-contrib
Normalde yeni bir Ubuntu kurulumunda önceden yüklenmiş olarak gelmeyen yardımcı programlar. Seçtiğiniz metin düzenleyicinizi kurmaktan çekinmeyin:
sudo apt-get install -y iotop htop nano vim
MariaDB, MySQL ile tamamen uyumlu güçlü bir ilişkisel SQL sunucusudur. MariaDB'nin en son sürümünü kurmanın en kolay yolu resmi depoları kullanmaktır:
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
İstemleri izleyin ve bir root parolası belirleyin. Ardından, yeni kurulumunuza erişebildiğinizi doğrulayın:
mysql -V
Şuna benzer bir çizgi görüntüler:
mysql Ver 15.1 Distrib 10.2.8-MariaDB, for debian-linux-gnu (x86_64) using readline 5
MySQL kabuğuna giriş yapın:
mysql -h localhost -u root -p
Not : \q
çıkmak için kullanın .
Git kullanarak Rbenv'i kurun. Bu, en basit yükleme yöntemidir ve daha sonra kolay güncellemelere izin verir. Ayrıca yükleyin ruby-build
, aslında Ruby'nin farklı sürümlerini derlemekten sorumludur:
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Not : Basitçe cd ~/.rbenv
ve güncellemeniz gerektiğinde git pull
.
Rbenv ve Ruby-build'in kabukta kullanılabilir olmasını sağlayın. İhracat hatları takılı olsun emin olmak için başında bir .bashrc
interaktif olmayan bash komutları için önemli olan dosyanın, bu satırları kullanın:
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
Rbenv ve Ruby-build'in kurulu olup olmadığını ve kabukta kullanılabilir olup olmadığını kontrol edin:
rbenv install --list
Eğer rbenv
tanınmayan, çıkış yapıp kabuk içine tekrar giriş yapın.
Bir ~/.bash_profile
dosya oluşturun ve dosyayı kaynağınıza yönlendirin ~/.bashrc
. whenever
Gem tarafından ayarlanan cron işleri gibi Rails uygulamanızdan etkileşimli olmayan kabuk komutlarını çalıştırmanız gerekiyorsa, etkileşimli kabuğunuzla aynı Ruby sürümünü kullanır. Bu, garip hataları önlemeye yardımcı olabilir. Bu satırı ~/.bash_profile
dosyaya ekleyin :
if [ -f $HOME/.bashrc ]; then
source $HOME/.bashrc
fi
Ruby 2.4.1'i yükleyin:
rbenv install 2.4.1
Not : Bu işlem sanal makinenizdeki kaynaklara bağlı olarak 5-15 dakika sürebilir ve ilerleme çubuğu yoktur.
Rbenv'i her yerde kullanılabilir hale getirin.
rbenv global 2.4.1
Apt için PGP anahtarını ve HTTPS desteğini ekleyin:
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
Yolcu deposunu ekleyin:
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
Passenger + Nginx modüllerini takın:
sudo apt-get install -y nginx
sudo apt-get install -y libnginx-mod-http-passenger
Bu noktada bunları test etmek için alan adını veya IP'sini kullanarak Vultr örneğinizi ziyaret edin. Çalışıyorlarsa, sayfanızda varsayılan Nginx hoş geldiniz sayfası gösterilir.
Bundler'ı ve Rayları Kurun:
gem install bundler rails --no-ri --no-rdoc
Ubuntu / Debian kuralı uygulamanızı kurmaktır /var/www
. Varsayılan olarak yalnızca kök tarafından yazılabilir. Kurulumun çalışması için sudo kullanıcısına sahiplik verin deploy
:
sudo chown deploy:deploy /var/www -R
Raylar uygulamasını oluşturun /var/www/
. Zaten dağıtmak istediğiniz bir uygulamanız varsa, git clone
burada ve sonra çalıştırın bundle
:
cd /var/www
rails new example --database=mysql
Hazırlık Nginx.
sudo nano /etc/nginx/nginx.conf
Kullanıcı olarak değiştir deploy
.
user deploy;
Gelen http
config bölümünde, yolcu dahil olmak üzere yük modülleri Nginx söyleyen bir çizgi olmalıdır. Eksikse, Virtual Host Configs
başlıktan hemen sonra , ancak önce ekleyebilirsiniz sites-enabled
.
include /etc/nginx/conf.d/*.conf;
passenger.conf
Dosyayı düzenleyin / oluşturun .
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
Yolcuya Rbenv kurulumumuzu kullanmasını söyleyin. Yolcu ile birlikte verilen Ruby sürümüne işaret eden bir satır içerebilir, sadece silin veya yorum yapın.
passenger_ruby /home/deploy/.rbenv/shims/ruby;
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
Uygulamayı işaret edecek sanal ana bilgisayarı ayarlayın /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
}
Nginx'i yeniden başlatın.
sudo service nginx restart
Bu noktada uygulamanız geliştirme modunda kullanılmaya hazırdır. Üretim moduna geçmek için Nginx yapılandırmanıza geri dönmeniz ve rails_env
ayarı olarak değiştirmeniz gerekir production
.
Eğer üretim moduna önce, kurulumunu hâlâ üretim veritabanı gerekecek example_production
, database.yml
ve gizli anahtarı. Uygulama dağıtım işleminizi hızlandırmak için Capistrano veya Mina gibi bir araca göz atın. ENV değişkenlerini değerli taşlarla kullanmak iyi bir uygulamadır dotenv
ve şifrelerinizi, gizli anahtarlarınızı ve benzerlerini git deponuzda kullanmayın.
Alanınız için SSL sertifikaları sunan birden fazla hizmet var, birçoğu ücretli ve bir çift ücretsiz. Hangi hizmeti kullanırsanız kullanın SSL'yi kurun. Şifreleyelim , kullanımı çok kolay ve ücretsizdir. Let's Encrypt, birçok teknoloji devi tarafından desteklenen kar amacı gütmeyen bir kuruluştur.
Aşağıdaki komutları çalıştırın ve komutları izleyin.
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
Şimdi kullanarak Vultr örneğinize HTTPS
giderseniz, güvenli bir web sitesi göreceksiniz.
Yeni verilen sertifikanızın süresi dolar ve periyodik olarak yenilenmesi gerekir. Bunu yapmanın en kolay yolu bir cron işi kurmaktır.
sudo crontab -e
30 2 * * 1 /usr/bin/certbot renew
Son fakat isteğe bağlı bir adım olarak VM'nizi yeniden başlatın ve tüm hizmetlerin beklendiği gibi yeniden başlatıldığından emin olun.
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?
Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun