نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
MoinMoin هو محرك ويكي مفتوح المصدر قائم على نظام الملفات مكتوب بلغة Python. في الوقت الحاضر ، يتم استخدام MoinMoin على نطاق واسع في مجتمع مفتوح المصدر. قام العديد من البائعين ، بما في ذلك ، على سبيل المثال لا الحصر ، Apache و Ubuntu و Debian و Python ، بإعداد مواقع wiki الخاصة بهم مع محرك MoinMoin wiki.
في هذا البرنامج التعليمي ، ستتعلم كيفية إعداد موقع ويكي MoinMoin واحد على مثيل خادم CentOS 7. من أجل خدمة MoinMoin ، سيتم تثبيت Nginx و uWSGI أيضًا.
203.0.113.1.قبل أن تتمكن من تشغيل MoinMoin وتشغيله ، تحتاج إلى إعداد خادم ويب له ، و Nginx هو خيار رائع لهذا الغرض.
1) من باب الراحة ، يمكنك تثبيت Nginx باستخدام EPEL YUM repo:
sudo yum install nginx -y
2) قم بتهيئة Nginx على النحو التالي بحيث يمكنها العمل مع uWSGI و MoinMoin.
استخدم viمحرر النصوص لفتح ملف Nginx config الرئيسي /etc/nginx/nginx.conf:
sudo vi /etc/nginx/nginx.conf
ضمن http { }المقطع ، ابحث عن server { }المقطع المقتطف أدناه:
http {
...
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
...
2.1) استخدم عنوان IP الخاص بالخادم لتحديد اسم خادم لـ Nginx:
ابحث عن الخط:
server_name _;
استبدلها بـ:
server_name 203.0.113.1;
2.2) تكوين Nginx على أنه يستخدم بروتوكول uWSGI للاتصالات:
ابحث عن location / { }المقطع:
location / {
}
أدخل سطرين على النحو التالي:
location / {
uwsgi_pass unix:///run/moin/moin.sock;
include uwsgi_params;
}
احفظ واخرج:
:wq!
3) اختياريًا ، يمكنك اختبار التكوين المعدل بالأمر التالي:
sudo nginx -t
إذا لم يحدث أي خطأ ، يجب أن ترى الناتج على النحو التالي:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
4) أخيرًا ، ابدأ خدمة Nginx واجعلها تبدأ تلقائيًا على تمهيد النظام:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
1) استخدم الأوامر التالية لتثبيت MoinMoin 1.9.9 ، أحدث إصدار ثابت من MoinMoin في الوقت الذي كتبت فيه هذه المقالة:
cd
wget http://static.moinmo.in/files/moin-1.9.9.tar.gz
tar -zxvf moin-1.9.9.tar.gz
cd moin-1.9.9
sudo python setup.py install --force --record=install.log --prefix='/opt/moin' --install-data=/srv
بعد تشغيل الأوامر أعلاه ، سيتم تثبيت ملف MoinMoin القابل للتنفيذ وجميع ملفات المكتبة في /opt/moinالدليل ، وسيتم تثبيت البيانات المستخدمة لبناء ويكي MoinMoin الخاص بك في /srv/share/moinالدليل.
2) إنشاء ملف تكوين مسمى moin.wsgiفي دليل بيانات MoinMoin باستخدام ملف قالب يحمل نفس الاسم:
cd /srv/share/moin/
sudo cp server/moin.wsgi moin.wsgi
افتح ملف التكوين الذي تم إنشاؤه حديثًا باستخدام viمحرر النصوص:
sudo vi /srv/share/moin/moin.wsgi
ابحث عن السطر التالي:
import sys, os
ألحق الخطين التاليين أدناه:
sys.path.insert(0, '/opt/moin/lib/python2.7/site-packages/')
sys.path.insert(0, '/srv/share/moin/')
احفظ واخرج:
:wq!
3) قم بإنشاء ملف تكوين MoinMoin wiki آخر سيتم استخدامه لتخصيص ويكي الخاص بك:
cd /srv/share/moin
sudo cp config/wikiconfig.py wikiconfig.py
يمكنك تكوين العديد من الميزات لـ WoinMoin wiki في هذا الملف ، ولكن في الوقت الحالي ، تحتاج فقط إلى إعداد العديد من الميزات على النحو التالي.
حدد اسم الموقع (قلها My First Wiki):
sudo sed -i 's/Untitled Wiki/My First Wiki/' /srv/share/moin/wikiconfig.py
حدد مستخدمًا فائقًا (قلها admin):
sudo sed -i '/#superuser/a\ superuser = [u\"admin\", ]' /srv/share/moin/wikiconfig.py
ملاحظة: ما زلت بحاجة إلى تسجيل هذا المستخدم من واجهة الويب MoinMoin لاحقًا.
تعطيل عمليات بحث DNS العكسية للتسريع:
sudo sed -i '$a\ log_reverse_dns_lookups = False' /srv/share/moin/wikiconfig.py
4) تغيير ملكية ملفات MoinMoin المثبتة:
sudo chown -R nginx:nginx /srv/share/moin
sudo chown -R nginx:nginx /opt/moin
من خلال العمل كمحور بين خادم الويب Nginx وتطبيق Python ، تم تصميم uWSGI لإنتاج أفضل أداء باستخدام بروتوكول uWSGI عالي الأداء. بعد ذلك ، دعنا نلقي نظرة على كيفية تثبيت وتكوين uWSGI لتشغيل MoinMoin.
1) استخدم النقطة لتثبيت uWSGI على النحو التالي:
sudo yum install -y python-devel python-setuptools python-pip gcc
sudo pip install --upgrade pip
sudo pip install uwsgi
إذا سار كل شيء على ما يرام ، يجب أن تشاهد الناتج مشابهًا لما يلي:
...
Successfully installed uwsgi-2.0.15
2) بعد تثبيت uWSGI ، تحتاج إلى إنشاء دليل لتخزين ملفات سجل uWSGI:
sudo mkdir /var/log/uwsgi
sudo chown nginx:nginx /var/log/uwsgi
3) بالإضافة إلى ذلك ، تحتاج إلى إنشاء دليل لتخزين ملف مأخذ MoinMoin:
sudo mkdir /run/moin
sudo chown nginx:nginx /run/moin
4) قم بإنشاء ملف تكوين uWSGI uwsgi.iniفي دليل بيانات ويكي MoinMoin وملؤه على النحو التالي:
cat <<EOF | sudo tee -a /srv/share/moin/uwsgi.ini
[uwsgi]
uid = nginx
gid = nginx
socket = /run/moin/moin.sock
chmod-socket = 660
logto = /var/log/uwsgi/uwsgi.log
chdir = /srv/share/moin
wsgi-file = /srv/share/moin/moin.wsgi
master = true
processes = 3
max-requests = 200
harakiri = 30
vacuum = true
enable-threads = true
EOF
5) من أجل استخدام systemd لإدارة uWSGI ، تحتاج إلى إعداد ملف وحدة systemd لـ uWSGI:
cat <<EOF | sudo tee -a /etc/systemd/system/uwsgi.service
[Unit]
Description=uWSGI instance to serve MoinMoin
After=syslog.target
[Service]
ExecStart=/usr/bin/uwsgi --ini /srv/share/moin/uwsgi.ini
RuntimeDirectory=uwsgi
Restart=always
KillSignal=SIGQUIT
Type=notify
StandardError=syslog
NotifyAccess=all
[Install]
WantedBy=multi-user.target
EOF
6) ابدأ تشغيل خدمة uWSGI واجعلها تبدأ تلقائيًا في تمهيد النظام:
sudo systemctl start uwsgi.service
sudo systemctl enable uwsgi.service
قم بتكوين قواعد جدار الحماية على النحو التالي بحيث يمكن للمستخدمين زيارة موقع MoinMoin wiki الخاص بك باستخدام متصفح الويب:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
الآن ، تم تشغيل موقع WoinMoin واحد على مثيل خادم CentOS 7.
قم بتوجيه متصفح الويب المفضل لديك إلى http://203.0.113.1، ومن ثم ستنتقل إلى واجهة الويب MoinMoin. قم بالتسجيل وتسجيل الدخول كمستخدم خارق adminذكرناه سابقًا ، وبعد ذلك يمكنك إدارة موقع wiki الخاص بك كما يحلو لك.
إذا لزم الأمر ، يمكنك إجراء المزيد من التخصيص عن طريق تحرير /srv/share/moin/wikiconfig.pyالملف.
بهذا نختتم البرنامج التعليمي. شكرا للقراءة.
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد