المتطلبات الأساسية
- خادم Vultr يعمل حتى الآن Arch Linux (انظر هذه المقالة ).
- خادم ويب قيد التشغيل ، إما Apache أو Nginx
- وصول سودو:
- الأوامر المطلوب تشغيلها كجذر مسبوقة بـ
#. الطريقة الموصى بها لتشغيل الأوامر كجذر هي ، كمستخدم عادي ، بادئة كل واحد منهمsudo
- تثبيت محرر نصوص ، والتعرف عليه ، مثل vi أو vim أو nano أو emacs أو محرر مماثل
قم بتثبيت Python 3.7 على خادم الويب الخاص بك
على أباتشي
لسوء الحظ ، لا يتم دعم تشغيل كلا الإصدارين من وحدات Apache (لـ Python 2.x و 3.x) في نفس الوقت على نفس نظام Arch ، ولكن نادرًا ما تكون هذه مشكلة.
لاستخدام Python 3.x:
# pacman -S mod_wsgi
قم بتمكين mod_wsgiوحدة Apache عن طريق التحرير /etc/httpd/conf/httpd.conf، وفي نهاية قائمة LoadModuleالأوامر ، أضف ما يلي:
LoadModule wsgi_module modules/mod_wsgi.so
على Nginx
لاستخدام Python 3.x:
# pacman -S uwsgi-plugin-python
اختبار بيثون
ضمن الدليل المناسب ، قم بإنشاء test.pyالمحتويات التالية:
#-*- coding: utf-8 -*-
def wsgi_app(environment, start_response):
import sys
output = sys.version.encode('utf8')
status = '200 OK'
headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, headers)
yield output
application = wsgi_app
على أباتشي
أضف إلى نهاية /etc/httpd/conf/httpd.conf، أو إذا كنت تقوم بتشغيل عدة مضيفين ، قم بتحرير ملف التكوين المناسب ، وأضف <VirtualHost>الكتلة المناسبة :
WSGIScriptAlias /wsgi_app /srv/http/test.py
أعد تشغيل Apache:
# systemctl restart httpd
في مستعرض ويب ، قم بزيارة http://YOUR-SERVER-WEB-ADDRESS-OR-IP/wsgi_appوستشاهد صفحة اختبار مع إصدارات بيثون ودول مجلس التعاون الخليجي.
احذف test.pyملف الاختبار الذي أنشأته للتو ، وفي WSGIScriptAliasتكوين Apache الخاص بك.
أعد تشغيل Apache:
# systemctl restart httpd
على Nginx
قم بإنشاء الملف /etc/uwsgi/wsgi_app.iniبالمحتويات التالية:
[uwsgi]
socket = /run/uwsgi/wsgi_app.sock
uid = http
gid = http
plugins = python
chdir = /usr/share/nginx/html/
wsgi-file=test.py
callable = application
ابدأ في تقديم خدمة UWSGI wsqi_app:
# systemctl start uwsgi@wsgi_app
اسمح لـ Nginx باستخدام uWSGI عن طريق التحرير /etc/nginx/nginx.conf، ولكل كتلة خادم تريد اختبارها ، أضف ما يلي. بدلاً من ذلك ، إذا كنت تستخدم مضيفين افتراضيين ، فقم بتحرير ملف تكوين كل مضيف:
location ~ \wsgi_app {
root /usr/share/nginx/html/;
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/wsgi_app.sock;
}
إعادة تشغيل Nginx:
# systemctl restart nginx
في مستعرض ويب ، قم بزيارة http://YOUR-SERVER-WEB-ADDRESS-OR-IP/wsgi_appوستشاهد صفحة اختبار مع إصدارات بيثون ودول مجلس التعاون الخليجي.
حذف test.pyالملف الذي أنشأته للتو، وكتلة الموقع الذي أضفته إلى /etc/nginx/nginx.confل wsgi_app.
إعادة تشغيل Nginx:
# systemctl restart nginx
إيقاف خدمة UWSGI wsgi_app:
# systemctl stop uwsgi@wsgi_app
حذف /etc/uwsgi/wsgi_app.iniو test.pyالملفات اختبار قمت بإنشائها.