Wenn Sie es nur unter CentOS ausführen möchten, können Sie es wegwerfen.
Es ist besser, python3 mit virtualenv zu installieren.
(Zusatz)
Schließlich habe ich eine Docker-Datei geschrieben. Ich habe diesen Schritt gerade in eine Docker-Datei umgeschrieben. Das resultierende Bild wird 600 MB groß sein, daher denke ich, dass es zu schwer ist.
Wird es noch leichter, wenn ich es mit alpine neu mache? Ich würde gerne die beste Vorgehensweise beim Betrieb von Kolben in einer Produktionsumgebung kennen.
Versions
CentOS
CentOS Linux release 7.6.1810 (Core)
HTTPD
Installieren Sie auch httpd-devel
.
httpd-tools-2.4.6-90.el7.centos.x86_64
httpd-2.4.6-90.el7.centos.x86_64
httpd-devel-2.4.6-90.el7.centos.x86_64
PYTHON
Geben Sie mit "yum install python3" ein
Python 3.6.8
mod_wsgi
nicht mit yum
.pip3 install mod_wsgi
gcc
, wenn Sie dies installieren.yum install httpd httpd-devel python3 python3-devel gcc -y
pip3 install mod_wsgi
LoadModule
das oben installierte an. Dies ist die Version von Python, die Apache ausführt.python-path
gibt den Pfad einschließlich site-packages
an[root@ryo httpd]# cat /etc/httpd/conf.d/userdir.conf
<VirtualHost *:8080>
ServerName example.com
LoadModule wsgi_module /usr/local/lib64/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so
WSGIDaemonProcess ml user=vagrant group=vagrant threads=5 python-path=/usr/local/lib64/python3.6/site-packages
WSGIScriptAlias / /opt/tryml/ryo/wsgi.wsgi
<Directory /opt/tryml/ryo/>
WSGIProcessGroup ml
Order deny,allow
Allow from all
Require all granted
</Directory>
</VirtualHost>
import sys, os
sys.path.insert(0, os.path.dirname(__file__))
from sebserver import app as application
Dockerfile
FROM centos:7
COPY ["*.py", "wsgi.wsgi", "requirements.txt", "/var/www/html/"]
RUN yum install httpd httpd-devel python3 python3-devel gcc -y; pip3 install -r /var/www/html/requirements.txt; mkdir /var/www/html/static; chown apache:apache /var/www/html/*
COPY templates/sample.html /var/www/html/templates/
COPY docker/py.conf /etc/httpd/conf.d/
COPY docker/httpd.conf /etc/httpd/conf/
CMD ["/usr/sbin/httpd", "-DFOREGROUND"]
Recommended Posts