نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
مكدس 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الملف الرئيسي . ملف التكوين الرئيسي لإنجن إكس يعيش تحت /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 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد