Ich wollte ein mit Anaconda erstelltes Bildverarbeitungsprogramm mit Apache + Django ausführen, also eine einfache Notiz für mich. Ich mache nichts wie SSL oder Sicherheit.
Klicken Sie auf der offiziellen Website auf x86_64 von centos7, installieren Sie CentOS-7-x86_64-DVD-2003.iso und brennen Sie es auf einen USB-Speicher. Da es 4,7 GB sind, scheint es mit DVD-R unmöglich. https://www.centos.org/download/
Stecken Sie den USB-Stick mit dem Image in den PC, auf dem Sie ihn installieren möchten, und starten Sie das CentOS-Installationsprogramm. Wenn Sie es starten, werden Sie verschiedene Dinge wie Spracheinstellungen sehen, aber ich denke, es wird einfacher zu verwenden sein, wenn Sie in den Softwareeinstellungen "GNOME Desktop" auswählen. Sie können den Hostnamen in den Netzwerk- und Hostnameneinstellungen festlegen, aber Sie können ihn später ändern, sodass die Standardeinstellung in Ordnung ist. Ich denke, es ist besser, ihn im FQDN-Format einschließlich des Domänennamens festzulegen. Ich werde es so installieren, wie es ist. Die Erklärung dieses Bereichs wird in CentOS installieren auf leicht verständliche Weise beschrieben (ich habe es auch installiert, während ich mir das anschaue). Legen Sie das Root-Passwort auf dem Weg fest, aber denken Sie daran.
Nach der erfolgreichen Installation von CentOS starten wir das Terminal. Hier installieren wir Apache mit dem Befehl yum.
$ su -
Passwort: (rootのPasswort)
# yum list | grep httpd
httpd.x86_64
httpd-devel.x86_64
httpd-manual.noarch
httpd-ttools.x86_64
(Verschiedene unten)
# yum -y install httpd httpd-tools httpd-devel httpd-manual
(Installation)
# yum list installed | grep httpd
httpd.x86_64
httpd-devel.x86_64
httpd-manual.noarch
httpd-ttools.x86_64
# systemctl start httpd
# systemctl status httpd
(Hier ● httpd.service - The Apache HTTP Server)Wenn so etwas angezeigt wird, hat es normal begonnen.)
Stellen Sie von hier aus den automatischen Start ein
# systemctl enable httpd
# systemctl is-enabled httpd
enabled
Port 80 öffnen
# iptables -I INPUT 7 -p tcp --dport 80 -j ACCEPT
# service iptables save
# firewall-cmd --add-service=http --permanent
# firewall-cmd --reload
success
# getenforce
Enforcing
# vi /etc/selinux/config
Wechseln Sie von erzwungen zu deaktiviert
SELINUX=disabled
Starten Sie Ihren Computer einmal neu
# getenforce
Disabled
Das ist in Ordnung. Wenn du so weit kommst
# ifconfig
enp3s0: flags=***
inet 192.168.***.*** netmask 255.255.240.0
(verschiedene)
Überprüfen Sie die IP-Adresse mit, geben Sie im Browser http : //192.168.〇〇〇.〇〇〇 ein, und wenn die Begrüßungsseite "Testing 123 ..." angezeigt wird, sind Sie fertig.
Fügen Sie bei der Installation von Anaconda das Versionsverwaltungstool pyenv hinzu.
Paketaktualisierung
# yum update -y
Holen Sie sich pyenv von git
# cd /usr/local/bin
# git clone git://github.com/yyuu/pyenv.git ./pyenv
Legen Sie den Pfad für den Zugriff fest
# echo 'export PYENV_ROOT="/usr/local/bin/pyenv"' >> ~/.bashrc
# echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
# echo 'eval "$(pyenv init -)"' >> ~/.bashrc
# source ~/.bashrc
# exec $SHELL -l
# pyenv --version
pyenv 1.2.20-7-gdd62b0d
In diesem Fall ist die Installation von pyenv abgeschlossen. Jetzt installieren wir Anaconda.
# pyenv install --list | grep anaconda
(Es wird verschiedene Pakete geben, also holen Sie sich die neueste Version.)
(Anaconda3 passend zu dem Modul, das ich später verwenden werde-4.4.Ich habe 0 gewählt)
# pyenv install anaconda3-4.4.0
# pyenv rehash
# pyenv global anaconda3-4.4.0
# pyenv version
anaconda3-4.4.0 (set by /usr/local/bin/pyenv/version)
# python -V
Python 3.6.1
Damit ist die Anaconda-Installation abgeschlossen.
Ich möchte Django verwenden, also werde ich es installieren.
Aktualisierung von conda
# conda update conda
# conda update --all
# conda install django
Da es eine große Sache ist, werde ich eine virtuelle Umgebung erstellen.
# source create -n django
# source activate django
Übrigens beim Verlassen der virtuellen Umgebung
# source deactivate django
Sagen wir.
Überprüfen Sie, ob Sie Django tatsächlich verwenden können.
# cd /var/www/
Der Name hier ist nicht komon, Sie können einen beliebigen Namen verwenden(Mysite etc.)
# django-admin startproject komon
# cd komon
# python manage.py makemigrations
# python manage.py migrate
# python manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
*Mond**, 2020 - **:**:**
Django version 3.1, using settings 'komon.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-
Versuchen Sie, http : //127.0.0.1:8000 in Ihren Browser einzugeben. Wenn Sie eine raketenähnliche Begrüßungsseite sehen, sind Sie fertig.
Lassen Sie uns nun die Zeichen anzeigen.
# python manage.py startapp myapp
# cd myapp
# vi views.py ->Bearbeiten
# vi urls.py ->Bearbeiten
views.py
from django.shutcuts import render
# create your views here.
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, World!")
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
# cd ..
# cd komon
# vi urls.py ->Bearbeiten
# vi settings.py ->Bearbeiten
urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls')),
]
settings.py
DEBUG = False <-Wechseln Sie von Richtig zu Falsch
ALLOWED_HOSTS = ['*']
INSTALLED_APPS - [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp', <-hinzufügen
]
ROOT_URLCONF = 'komon.urls'
WSGI_APPLICATION = 'komon.wsgi.application'
Damit sind die Einstellungen abgeschlossen.
Ich denke, es ist relativ möglich, Django zu installieren, aber der Stolperstein ist die Installation von WSGI. Apache unterstützt Python standardmäßig nicht, daher scheint es, als würde man wsgi verwenden, um Django zu erkennen. Ich habe bisher verschiedene Dinge mit yum installiert, aber es scheint, dass die Installation mit yum eine Verbindung mit dem Python2-System herstellt, das standardmäßig in CentOS enthalten ist. Verwenden wir also pip.
# pip install mod_wsgi
# python -c "import sys;print(sys.path)"
['','/usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/python36.zip',
'/usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/python3.6',
'/usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/python3.6/lib-dynload',
'/usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-packages']
Weil es herauskommt
/usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-Geben Sie Pakete mit dem folgenden Befehl ein.
# ls /usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-packages/mod_wsgi/server/
mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so
Weil es wird
/usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so
Lass uns erinnern.
Von hier aus werden wir uns mit dem zuvor erstellten Django-Projekt verbinden.
# cd /etc/httpd/conf.d/
# vi django.conf
Da es hier ein leerer Text sein wird, werde ich Folgendes schreiben.
django.conf
LoadModule wsgi_module /usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so (Der von früher)
ServerName 192.168.***.*** (IP Adresse)
WSGIScriptAlias / /var/www/komon/komon/wsgi.py
WSGIPythonPath /var/www/komon:/usr/local/bin/pyenv/versions/anaconda3-4.4.0/bin/python
<Directory /var/www/komon/komon>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
# systemctl restart httpd
Es ist in Ordnung, wenn Sie den Browser starten, http : //192.168.〇〇〇.〇〇〇 eingeben und Hallo, Welt! Wird angezeigt. Wenn es sich um dasselbe Netzwerk handelt, können Sie es von anderen PCs aus sehen. Fortsetzung unter https://qiita.com/hinoma/items/9c57a1cf214ebf137ace
https://www.rem-system.com/centos-install/ https://hombre-nuevo.com/python/python0032/ https://engineers.weddingpark.co.jp/?p=1031 https://qiita.com/dekosuke-menti/items/e416f198980c0fd6e75b
Wie ich am Anfang schrieb, habe ich nichts gegen die Sicherheit unternommen. Ich denke, dass Fehler usw. den Teil einnehmen, der sich auf mod_wsgi bezieht, daher denke ich, dass es gut ist, den Fehlercode usw. zu überprüfen.
Recommended Posts