Funkcjonalności warstw architektury referencyjnej Big Data
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
Stos FEMP, który jest porównywalny ze stosem LEMP w systemie Linux, to zbiór oprogramowania typu open source, które jest zwykle instalowane razem, aby umożliwić serwerowi FreeBSD hostowanie dynamicznych witryn i aplikacji internetowych. FEMP to akronim oznaczający FreeBSD, Nginx, MySQL i PHP.
W tym przewodniku będziemy wdrażać elementy stosu FEMP na instancji FreeBSD 12.0 Vultr przy użyciu pkg
menedżera pakietów FreeBSD.
Przed rozpoczęciem tego przewodnika potrzebujesz:
sudo
użytkownik, aby dokonać zmian w konfiguracji.Sprawdź wersję FreeBSD.
uname -ro
# FreeBSD 12.0-RELEASE-p6
Upewnij się, że twój system FreeBSD jest aktualny.
freebsd-update fetch install
pkg update && pkg upgrade -y
Zainstaluj niezbędne pakiety.
pkg install -y sudo vim bash curl
Utwórz nowe konto użytkownika z preferowaną nazwą użytkownika. Używamy 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!
Uruchom visudo
polecenie i usuń komentarz z %wheel ALL=(ALL) ALL
wiersza, aby umożliwić członkom wheel
grupy wykonanie dowolnego polecenia.
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
Teraz przejdź do nowo utworzonego użytkownika za pomocą su
:
su - johndoe
UWAGA: Zamień na johndoe
swoją nazwę użytkownika.
Ustaw strefę czasową:
sudo tzsetup
Można zainstalować Nginx użyciu menedżera pakietów FreeBSD, pkg
. Menedżer pakietów pozwala bezproblemowo zainstalować większość oprogramowania z repozytorium obsługiwanego przez FreeBSD. Możesz dowiedzieć się więcej o tym, jak korzystać z pkg
tego miejsca .
Aby zainstalować najnowszą linię główną Nginx, wydaj następujące polecenie:
sudo pkg install -y nginx-devel
Sprawdź wersję:
nginx -v
# nginx version: nginx/1.17.1
To polecenie zainstaluje najnowszą wersję Mainline, której można niezawodnie używać na serwerze produkcyjnym. Jeśli chcesz zainstalować najnowszą stabilną wersję, po prostu użyj nginx
pakietu zamiast nginx-devel
.
Teraz włącz i uruchom Nginx:
sudo sysrc nginx_enable=yes
sudo service nginx start
Aby sprawdzić, czy Nginx się uruchomił, możesz uruchomić następującą komendę:
sudo service nginx status
W rezultacie zobaczysz coś podobnego do następującego:
# Output
nginx is running as pid 17607.
Możesz sprawdzić, czy Nginx został zainstalowany i działa bez błędów, odwiedzając publiczny adres IP serwera w przeglądarce internetowej. Przejdź do your_server_IP
. Zobaczysz domyślne „Witamy w nginx!” strona.
Ponownie możesz wykorzystać, pkg
aby uzyskać i zainstalować oprogramowanie.
Zainstaluj MySQL przy użyciu pkg
:
sudo pkg install -y mysql80-client mysql80-server
Sprawdź wersję:
mysql --version
# mysql Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)
Teraz włącz i uruchom MySQL:
sudo sysrc mysql_enable=yes
sudo service mysql-server start
Aby sprawdzić, czy MySQL został uruchomiony, możesz uruchomić następującą komendę:
sudo service mysql-server status
Zobaczysz coś podobnego do następującego:
# Output
mysql is running as pid 19066.
Jako dobrą praktykę powinieneś uruchomić mysql_secure_installation
skrypt bezpieczeństwa, który usunie niektóre niepewne wartości domyślne i nieznacznie ograniczy dostęp do systemu bazy danych.
sudo mysql_secure_installation
Zostaniesz poproszony o ustawienie hasła, a następnie kilka innych pytań. Wprowadź silne hasło, a następnie, aby ENTERprzejść do pozostałych pytań, naciśnij, aby wybrać ustawienia domyślne.
Aby zainstalować PHP 7.3
z pkg
uruchom polecenie:
sudo pkg install -y php73
Sprawdź wersję.
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
Miękki link php.ini-production
do php.ini
.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Teraz włącz i uruchom PHP-FPM:
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start
Aby sprawdzić, czy PHP-FPM został uruchomiony, możesz uruchomić następującą komendę:
sudo service php-fpm status
W rezultacie zobaczysz coś podobnego:
# Output
php_fpm is running as pid 23005.
Aby zwiększyć funkcjonalność PHP, możesz opcjonalnie zainstalować dodatkowe moduły.
Aby zobaczyć aktualnie skompilowane w modułach PHP, możesz uruchomić to:
php -m
# [PHP Modules]
# Core
# date
# libxml
# mysqlnd
# pcre
# Reflection
# SPL
# standard
# [Zend Modules]
Aby wyszukać dostępne moduły PHP, możesz użyć tego polecenia:
pkg search ^php73-*
Rezultatem będą głównie moduły PHP 7.3, które możesz zainstalować:
# 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
# . . .
Jeśli po zbadaniu zdecydujesz, że musisz zainstalować pakiet, możesz to zrobić za pomocą pkg install
polecenia. Większość aplikacji internetowych PHP będzie wymagało dodatkowych modułów, więc dobrze jest wiedzieć, jak ich szukać.
Przed użyciem PHP musisz go skonfigurować do pracy z Nginx.
Uruchom sudo vim /usr/local/etc/nginx/test.conf
i wypełnij plik następującą zawartością:
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;
}
}
Zapisz plik i wyjdź za pomocą :+ W+Q
Teraz musimy dołączyć test.conf
do głównego nginx.conf
pliku. Główny plik konfiguracyjny dla Nginx żyje /usr/local/etc/nginx
jako as nginx.conf
.
Uruchom, sudo vim /usr/local/etc/nginx/nginx.conf
aby otworzyć główny plik konfiguracyjny w Vimie i dodaj następujący wiersz do http {}
bloku.
include test.conf;
Przetestuj konfigurację Nginx:
sudo nginx -t
Ponieważ dokonałeś zmian w konfiguracji w Nginx, musisz ponownie załadować usługę, aby te zostały zastosowane. W przeciwnym razie Nginx nadal będzie działał z wcześniejszą konfiguracją.
sudo service nginx reload
Aby sprawdzić, czy Twój system jest poprawnie skonfigurowany do obsługi PHP, możesz utworzyć bardzo prosty skrypt PHP. Nazwiesz ten skrypt info.php
. Domyślnie root
jest ustawiony na /usr/local/www/nginx-dist
. Możesz utworzyć info.php
plik w tej lokalizacji:
sudo vim /usr/local/www/nginx-dist/info.php
Dodaj ten kod do tego pliku:
<?php phpinfo(); ?>
Przejdź do, http://your_server_IP/ìnfo.php
a zobaczysz następującą stronę:
Po instalacji i konfiguracji należy usunąć info.php
plik, aby uniknąć publicznego ujawnienia informacji o serwerze.
sudo rm /usr/local/www/nginx-dist/info.php
Gratulacje, pomyślnie zainstalowałeś stos FEMP na FreeBSD 12.0 VPS. Teraz masz wiele możliwości wyboru, co dalej. Zainstalowałeś platformę, która pozwoli ci zainstalować na niej większość rodzajów stron internetowych i oprogramowania.
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.
13 komercyjnych narzędzi do ekstrakcji danych z Big Data
Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+
Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.
Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…
Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą
Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.
Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.
Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.