Изучение 26 методов анализа больших данных: часть 1
Изучение 26 методов анализа больших данных: часть 1
Стек FEMP, который сопоставим со стеком LEMP в Linux, представляет собой набор программного обеспечения с открытым исходным кодом, который обычно устанавливается вместе, чтобы позволить серверу FreeBSD размещать динамические веб-сайты и веб-приложения. FEMP - это сокращение от FreeBSD, Nginx, MySQL и PHP.
В этом руководстве мы развернем элементы стека FEMP на экземпляре FreeBSD 12.0 Vultr, используя pkg
менеджер пакетов FreeBSD.
Прежде чем начать это руководство, вам понадобится следующее:
sudo
пользователь для внесения изменений в конфигурацию.Проверьте версию FreeBSD.
uname -ro
# FreeBSD 12.0-RELEASE-p6
Убедитесь, что ваша система FreeBSD обновлена.
freebsd-update fetch install
pkg update && pkg upgrade -y
Установите необходимые пакеты.
pkg install -y sudo vim bash curl
Создайте новую учетную запись пользователя с вашим предпочтительным именем пользователя. Мы используем 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!
Запустите visudo
команду и раскомментируйте %wheel ALL=(ALL) ALL
строку, чтобы члены wheel
группы могли выполнить любую команду.
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
Теперь переключитесь на нового пользователя с помощью su
:
su - johndoe
ПРИМЕЧАНИЕ. Замените johndoe
на свое имя пользователя.
Установите часовой пояс:
sudo tzsetup
Вы можете установить Nginx с помощью менеджера пакетов в FreeBSD, pkg
. Менеджер пакетов позволяет вам устанавливать большинство программного обеспечения без особых усилий из репозитория, поддерживаемого FreeBSD. Вы можете узнать больше о том, как использовать pkg
здесь .
Чтобы установить последний основной Nginx, введите следующую команду:
sudo pkg install -y nginx-devel
Проверьте версию:
nginx -v
# nginx version: nginx/1.17.1
Эта команда установит последнюю основную версию, которую можно надежно использовать на рабочем сервере. Если вы хотите установить последнюю стабильную версию, просто используйте nginx
пакет вместо nginx-devel
.
Теперь включите и запустите Nginx:
sudo sysrc nginx_enable=yes
sudo service nginx start
Чтобы проверить, что Nginx запущен, вы можете выполнить следующую команду:
sudo service nginx status
В результате вы увидите нечто похожее на следующее:
# Output
nginx is running as pid 17607.
Вы можете проверить, что Nginx был установлен и работает без ошибок, посетив общедоступный IP-адрес вашего сервера в веб-браузере. Перейдите к your_server_IP
. По умолчанию вы увидите «Добро пожаловать в nginx!» стр.
Опять же, вы можете использовать pkg
для получения и установки программного обеспечения.
Установите MySQL, используя pkg
:
sudo pkg install -y mysql80-client mysql80-server
Проверьте версию:
mysql --version
# mysql Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)
Теперь включите и запустите MySQL:
sudo sysrc mysql_enable=yes
sudo service mysql-server start
Чтобы проверить, что MySQL запущен, вы можете запустить следующую команду:
sudo service mysql-server status
Вы увидите что-то похожее на следующее:
# Output
mysql is running as pid 19066.
Хорошей практикой является запуск mysql_secure_installation
сценария безопасности, который удалит некоторые небезопасные значения по умолчанию и немного ограничит доступ к вашей системе баз данных.
sudo mysql_secure_installation
Вам будет предложено установить пароль, а затем некоторые другие вопросы. Введите надежный пароль, а затем для остальных вопросов нажмите, ENTERчтобы выбрать значения по умолчанию.
Чтобы установить PHP 7.3
с помощью pkg
этой команды:
sudo pkg install -y php73
Проверьте версию.
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
Софт-ссылка php.ini-production
на php.ini
.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Теперь включите и запустите PHP-FPM:
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start
Чтобы проверить, что PHP-FPM запущен, вы можете запустить следующую команду:
sudo service php-fpm status
В результате вы увидите нечто похожее:
# Output
php_fpm is running as pid 23005.
Чтобы расширить функциональность PHP, вы можете дополнительно установить некоторые дополнительные модули.
Чтобы увидеть скомпилированные в данный момент модули PHP, вы можете запустить это:
php -m
# [PHP Modules]
# Core
# date
# libxml
# mysqlnd
# pcre
# Reflection
# SPL
# standard
# [Zend Modules]
Для поиска доступных модулей PHP вы можете использовать эту команду:
pkg search ^php73-*
Результатами будут в основном модули PHP 7.3, которые вы можете установить:
# 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
# . . .
Если после исследования вы решите, что вам нужно установить пакет, вы можете сделать это с помощью pkg install
команды. Большинству веб-приложений PHP потребуются дополнительные модули, поэтому полезно знать, как их искать.
Перед использованием PHP необходимо настроить его для работы с Nginx.
Запустите sudo vim /usr/local/etc/nginx/test.conf
и заполните файл следующим содержимым:
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;
}
}
Сохраните файл и выйдите с помощью :+ W+Q
Теперь нам нужно включить test.conf
в основной nginx.conf
файл. Основной файл конфигурации для Nginx живет под /usr/local/etc/nginx
именем nginx.conf
.
Запустите, sudo vim /usr/local/etc/nginx/nginx.conf
чтобы открыть основной файл конфигурации в Vim и добавить следующую строку в http {}
блок.
include test.conf;
Проверьте конфигурацию Nginx:
sudo nginx -t
Поскольку вы внесли изменения в конфигурацию в Nginx, вам необходимо перезагрузить службу для тех, которые будут применены. В противном случае Nginx все равно будет работать с более ранней конфигурацией.
sudo service nginx reload
Чтобы проверить, правильно ли настроена ваша система для PHP, вы можете создать очень простой скрипт PHP. Вы назовете этот сценарий info.php
. По умолчанию root
установлено значение /usr/local/www/nginx-dist
. Вы можете создать info.php
файл в этом месте:
sudo vim /usr/local/www/nginx-dist/info.php
Добавьте этот код в этот файл:
<?php phpinfo(); ?>
Перейдите к, http://your_server_IP/ìnfo.php
и вы увидите следующую страницу:
После установки и настройки вы должны удалить info.php
файл, чтобы избежать разглашения информации о сервере.
sudo rm /usr/local/www/nginx-dist/info.php
Поздравляем, вы успешно установили стек FEMP на FreeBSD 12.0 VPS. Теперь у вас есть несколько вариантов того, что делать дальше. Вы установили платформу, которая позволит вам устанавливать на нее большинство видов веб-сайтов и веб-программного обеспечения.
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше