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
Linux'taki bir LEMP yığını ile karşılaştırılabilir bir FEMP yığını, bir FreeBSD sunucusunun dinamik web sitelerini ve web uygulamalarını barındırmasını sağlamak için genellikle birlikte yüklenen bir açık kaynaklı yazılım koleksiyonudur. FEMP, FreeBSD, Nginx, MySQL ve PHP'nin kısaltmasıdır.
Bu kılavuzda, bir FEMP yığının öğelerini pkg
, FreeBSD paket yöneticisi olan bir FreeBSD 12.0 Vultr örneğine dağıtacağız .
Bu kılavuza başlamadan önce aşağıdakilere ihtiyacınız olacaktır:
sudo
yapılandırma değişiklikleri yapmak için kullanıcı.FreeBSD sürümünü kontrol edin.
uname -ro
# FreeBSD 12.0-RELEASE-p6
FreeBSD sisteminizin güncel olduğundan emin olun.
freebsd-update fetch install
pkg update && pkg upgrade -y
Gerekli paketleri kurun.
pkg install -y sudo vim bash curl
Tercih ettiğiniz kullanıcı adıyla yeni bir kullanıcı hesabı oluşturun. Biz kullanıyoruz johndoe
.
adduser
# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!
Grup üyelerinin herhangi bir komutu yürütmesine izin vermek için visudo
komutu çalıştırın ve %wheel ALL=(ALL) ALL
satırı kaldırın wheel
.
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
Şimdi, yeni oluşturduğunuz kullanıcıya şu yolla geçin su
:
su - johndoe
NOT: Kullanıcı adınızla değiştirin johndoe
.
Saat dilimini ayarlayın:
sudo tzsetup
Nginx'i FreeBSD'nin paket yöneticisini pkg
,. Paket yöneticisi, çoğu yazılımı FreeBSD tarafından tutulan bir depodan zahmetsizce kurmanıza izin verir. Nasıl kullanılacağıpkg
hakkında daha fazla bilgiyi buradan edinebilirsiniz .
En son ana hat Nginx'i yüklemek için aşağıdaki komutu verin:
sudo pkg install -y nginx-devel
Versiyonu kontrol et:
nginx -v
# nginx version: nginx/1.17.1
Bu komut, bir üretim sunucusunda güvenilir bir şekilde kullanılabilen en son ana hat sürümünü yükler. En son kararlı sürümü yüklemek istiyorsanız, nginx
yerine paketi kullanın nginx-devel
.
Şimdi, Nginx'i etkinleştirin ve başlatın:
sudo sysrc nginx_enable=yes
sudo service nginx start
Nginx'in başladığını kontrol etmek için aşağıdaki komutu çalıştırabilirsiniz:
sudo service nginx status
Sonuç olarak, aşağıdakine benzer bir şey göreceksiniz:
# Output
nginx is running as pid 17607.
Web tarayıcınızda sunucunuzun genel IP adresini ziyaret ederek Nginx'in kurulduğunu ve sorunsuz çalıştığını doğrulayabilirsiniz. Adresine gidin your_server_IP
. Varsayılan "nginx'e hoş geldiniz!" sayfa.
Yine, pkg
yazılımınızı edinmek ve yüklemek için kullanabilirsiniz .
MySQL'i aşağıdakileri kullanarak kurun pkg
:
sudo pkg install -y mysql80-client mysql80-server
Versiyonu kontrol et:
mysql --version
# mysql Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)
Şimdi MySQL'i etkinleştirin ve başlatın:
sudo sysrc mysql_enable=yes
sudo service mysql-server start
MySQL'in başladığını kontrol etmek için aşağıdaki komutu çalıştırabilirsiniz:
sudo service mysql-server status
Aşağıdakine benzer bir şey görürsünüz:
# Output
mysql is running as pid 19066.
İyi bir uygulama olarak, mysql_secure_installation
bazı güvenli olmayan varsayılanları kaldıracak ve veritabanı sisteminize erişimi biraz sınırlandıracak güvenlik komut dosyasını çalıştırmalısınız .
sudo mysql_secure_installation
Bir şifre belirlemeniz ve ardından başka sorular sormanız istenecektir. Güçlü bir parola girin ve ardından kalan sorular ENTERiçin varsayılanları seçmek üzere düğmesine basın .
PHP kurmak için 7.3
birlikte pkg
, bu komutu çalıştırın:
sudo pkg install -y php73
Versiyonu kontrol et.
php --version
# PHP 7.3.7 (cli) (built: Jul 18 2019 01:14:37) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies
Yumuşak bağlantı php.ini-production
için php.ini
.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Şimdi, PHP-FPM'yi etkinleştirin ve başlatın:
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start
PHP-FPM'nin başladığını kontrol etmek için aşağıdaki komutu çalıştırabilirsiniz:
sudo service php-fpm status
Sonuç olarak, benzer bir şey göreceksiniz:
# Output
php_fpm is running as pid 23005.
PHP'nin işlevselliğini artırmak için isteğe bağlı olarak bazı ek modüller yükleyebilirsiniz.
Şu anda PHP modüllerinde derlenmiş olanları görmek için şunu çalıştırabilirsiniz:
php -m
# [PHP Modules]
# Core
# date
# libxml
# mysqlnd
# pcre
# Reflection
# SPL
# standard
# [Zend Modules]
Kullanılabilir PHP modüllerini aramak için şu komutu kullanabilirsiniz:
pkg search ^php73-*
Sonuçlar çoğunlukla yükleyebileceğiniz PHP 7.3 modülleri olacaktır:
# Output
# php73-7.3.7 PHP Scripting Language
# php73-Ice37-3.7.2 Modern alternative to object middleware such as CORBA/COM/DCOM/COM+
# php73-aphpbreakdown-2.2.2 Code-Analyzer for PHP for Compatibility Check-UP
# php73-aphpunit-1.8 Testing framework for unit tests
# php73-bcmath-7.3.7 The bcmath shared extension for php
# php73-brotli-0.7.0 Brotli extension for PHP
# php73-bsdconv-11.5.0 PHP wrapper for bsdconv
# php73-bz2-7.3.7 The bz2 shared extension for php
# php73-calendar-7.3.7 The calendar shared extension for php
# php73-composer-1.8.6 Dependency Manager for PHP
# php73-ctype-7.3.7 The ctype shared extension for php
# php73-curl-7.3.7 The curl shared extension for php
# . . .
Araştırdıktan sonra, bir paket kurmanız gerektiğine karar verirseniz, bunu pkg install
komutu kullanarak yapabilirsiniz . Çoğu PHP web uygulaması ek modüller gerektirir, bu nedenle bunları nasıl arayacağınızı bilmek iyidir.
PHP'yi kullanmadan önce, Nginx ile çalışacak şekilde yapılandırmanız gerekir.
sudo vim /usr/local/etc/nginx/test.conf
Dosyayı aşağıdaki içerikle çalıştırın ve doldurun:
server {
listen 80;
server_name SERVER_IP; # Replace with your IP or hostname
root /usr/local/www/nginx-dist;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Dosyayı kaydedin ve :+ W+ ile çıkınQ
Şimdi test.conf
ana nginx.conf
dosyaya eklememiz gerekiyor. Nginx için ana konfigürasyon dosyası /usr/local/etc/nginx
as altında bulunur nginx.conf
.
Vim'de sudo vim /usr/local/etc/nginx/nginx.conf
ana yapılandırma dosyasını açmak için çalıştırın ve http {}
bloğa aşağıdaki satırı ekleyin .
include test.conf;
Nginx yapılandırmasını test et:
sudo nginx -t
Nginx'te yapılandırma değişiklikleri yaptığınızdan, uygulanacaklar için hizmeti yeniden yüklemeniz gerekir. Aksi takdirde, Nginx yine de önceki yapılandırma ile çalışır.
sudo service nginx reload
Sisteminizin PHP için doğru yapılandırıldığını test etmek için çok temel bir PHP betiği oluşturabilirsiniz. Bu komut dosyasını çağıracaksınız info.php
. Varsayılan olarak, root
olarak ayarlıdır /usr/local/www/nginx-dist
. Oluşturabilir info.php
bu konuma altında dosyayı:
sudo vim /usr/local/www/nginx-dist/info.php
Bu kodu bu dosyaya ekleyin:
<?php phpinfo(); ?>
Şuraya gidin http://your_server_IP/ìnfo.php
ve aşağıdaki sayfayı göreceksiniz:
Yükleme ve kurulumdan sonra info.php
, sunucu hakkındaki bilgileri halka açıklamaktan kaçınmak için dosyayı kaldırmalısınız .
sudo rm /usr/local/www/nginx-dist/info.php
Tebrikler, FreeBSD 12.0 VPS'nize başarıyla bir FEMP yığını yüklediniz. Şimdi ne yapacağınız için birden fazla seçeneğiniz var. Üstüne birçok web sitesi ve web yazılımı yüklemenizi sağlayacak bir platform yüklediniz.
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