Verfahren zur Erstellung der Umgebung: Ubuntu + Apache2 + Python + Pyramid

Einführung

Dieses Dokument beschreibt das Verfahren zur Installation von Apache + Python + Pyramid in der Ubuntu-Umgebung.

Voraussetzungen

Die folgende Software wird dieses Mal verwendet, um die Umgebung zu erstellen.

Software Ausführung
Ubuntu 12.04 LTS
Apache 2.2.22
Python(System) 2.7.3 (Ubuntu 12.Was ist in 04 standardmäßig installiert)
Python(for virtualenv) 2.7.6
VirtualEnv 1.7.1.2
Pythonz -
Pyramid 1.4.5

Dieses Mal haben wir die Umgebung auf AWS aufgebaut. Das zu dieser Zeit verwendete AMI war "Ubuntu Server 12.04.3 LTS --ami-6aad335a (64-Bit)".

Treffen Sie auch die folgenden Vorbereitungen.

→ Informationen zum Erstellen eines Pyramidenbenutzers finden Sie im Folgenden. (Als Root-Benutzer ausführen.)

$ sudo adduser pyramid #Bitte geben Sie ein Passwort ein. Drücken Sie die Eingabetaste für alle anderen Elemente.
$ sudo gpasswd -a pyramid sudo
$ sudo cp -r /home/ubuntu/.ssh /home/pyramid
$ sudo chown -R pyramid:pyramid /home/pyramid/.ssh

→ In dieser Erklärung verwenden wir eine Anwendung namens "sampleapp". Das Verfahren zum Erstellen einer "Beispiel-App" ist wie folgt. (Befolgen Sie beim Erstellen einer "Beispiel-App" die folgenden Schritte (14).)

$ cd /home/pyramid
$ pcreate -s starter sampleapp
$ cd sampleapp
$ python setup.py install

Verfahren

Alle Schritte von hier aus sollten vom Pyramidenbenutzer ausgeführt werden.

(1) Aktualisieren Sie die Paketliste des Paketverwaltungssystems (APT).

$ sudo apt-get -y update

(2) Aktualisieren Sie das installierte Paket.

$ sudo apt-get -y upgrade

(3) Installieren Sie Build-Essential und Curl.

$ sudo apt-get -y install build-essential curl

(4) Installieren Sie Python-bezogene Pakete.

$ sudo apt-get -y install python-dev python-setuptools python-pip python-virtualenv

(5) Installieren Sie die Bibliotheken, die beim Erstellen mit Pythonz erforderlich sind.

$ sudo apt-get -y install libncurses-dev libreadline6-dev libbz2-dev liblzma-dev libsqlite3-dev libgbm-dev

(6) Installieren Sie Apache2.

$ sudo apt-get -y install apache2

(7) Installieren Sie mod_wsgi.

$ sudo apt-get -y install libapache2-mod-wsgi

(8) Installieren Sie Pythonz.

$ curl -kL https://raw.github.com/saghul/pythonz/master/pythonz-install | bash

(9) Fügen Sie den folgenden Inhalt zu /home/pyramid/.bashrc hinzu.

[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc

(10) Wenden Sie den Inhalt von .bashrc an.

$ source /home/pyramid/.bashrc

(11) Installieren Sie Python 2.7.6 mit Pythonz.

$ pythonz install 2.7.6

(12) Erstellen Sie eine Python-Umgebung zur Verwendung mit Pyramid mit Pythonz und Virtualenv. *) Diesmal lautet der Name der zu erstellenden Python-Umgebung "env".

$ mkdir /home/pyramid/.virtualenv
$ cd /home/pyramid/.virtualenv
$ virtualenv -p /home/pyramid/.pythonz/pythons/CPython-2.7.6/bin/python --no-site-packages env

(13) Aktivieren Sie die oben erstellte env-Umgebung.

$ source /home/pyramid/.virtualenv/env/bin/activate

(14) Installieren Sie die Pyramide. Führen Sie dieses Mal den folgenden Befehl aus, um die Version 1.4.5 zu installieren. *) Um die neueste Version von pyramid zu installieren, führen Sie "pip install pyramid" aus.

$ pip install pyramid==1.4.5

(15) Erstellen Sie eine pyramid.wsgi-Datei direkt unter der Beispiel-App.

$ cd /home/pyramid/sampleapp
$ vi pyramid.wsgi

(16) Fügen Sie der Datei pyramid.wsgi den folgenden Inhalt hinzu. *) Dieses Mal wird davon ausgegangen, dass es in einer Produktionsumgebung betrieben wird. Für eine Entwicklungsumgebung ist Production.ini Development.ini.

from pyramid.paster import get_app
application = get_app(
  '/home/pyramid/sampleapp/production.ini', 'main')

(17) Ändern Sie die Berechtigungen der Datei pyramid.wsgi in 755.

$ sudo chmod 755 /home/pyramid/sampleapp/pyramid.wsgi

(18) Erstellen Sie eine Apache-Konfigurationsdatei für Pyramid.

$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/pyramid
$ sudo vi /etc/apache2/sites-available/pyramid

(19) Öffnen Sie die erstellte Einstellungsdatei mit vi und ändern Sie sie in den folgenden Inhalt.

<VirtualHost *:80>
    DocumentRoot /home/pyramid/sampleapp
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    WSGIDaemonProcess pyramid user=www-data group=www-data threads=4 \
    python-path=/home/pyramid/.virtualenv/env/lib/python2.7/site-packages
    WSGIScriptAlias /sampleapp /home/pyramid/sampleapp/pyramid.wsgi
    <Directory /home/pyramid/sampleapp/>
        WSGIProcessGroup pyramid
        Order allow,deny
        Allow from all
    </Directory>
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

(20) Aktivieren Sie die Pyramid-Site und deaktivieren Sie die Standard-Site.

$ sudo a2ensite pyramid
$ sudo a2dissite default

(21) Starten Sie Apache neu.

$ sudo /etc/init.d/apache2 restart

(22) Greifen Sie mit einem Browser auf "http: // [ipaddress] / sampleapp" zu und bestätigen Sie, dass die Pyramidenseite angezeigt wird.

Recommended Posts

Verfahren zur Erstellung der Umgebung: Ubuntu + Apache2 + Python + Pyramid
Konstruktionsverfahren für die Anaconda3-Python-Umgebung
OpenCV3 & Python3 Umgebungskonstruktion unter Ubuntu
Python-Umgebungskonstruktion
Python - Umgebungskonstruktion
Aufbau einer Python-Umgebung
[Ubuntu 18.04] Erstellen Sie eine Python-Umgebung mit pyenv + pipenv
Konstruktionsverfahren für die Python (Anaconda) -Entwicklungsumgebung (SpringToolsSuites) _2020.4
Homebrew Python Umgebung Konstruktion
Aufbau einer Python-Entwicklungsumgebung
python2.7 Konstruktion der Entwicklungsumgebung
Python-Umgebungskonstruktion @ Win7
VS Code + Azure-Funktionen + Python-Umgebungskonstruktionsverfahren
Python 3.x-Umgebungskonstruktion von Pyenv (CentOS, Ubuntu)
Python + Anaconda + Pycharm-Umgebungskonstruktion
Aufbau einer Python-Umgebung (Windows 10 + Emacs)
CI-Umgebungskonstruktion ~ Python Edition ~
Erstellen Sie eine Python3-Umgebung mit Ubuntu 16.04
Aufbau einer Python-Umgebung für Mac
Konstruktionsverfahren für die Google App Engine / Python-Entwicklungsumgebung (Ende 2014)
Python3-Umgebungskonstruktion (für Anfänger)
Python-Umgebungskonstruktion und TensorFlow
Erstellen einer Python-Umgebung unter Windows 7
Verfahren zum Konvertieren einer Python-Datei in eine Exe aus der Ubunts-Umgebungskonstruktion
[MEMO] [Entwicklung der Entwicklungsumgebung] Python
Aufbau der Ubuntu14.04 + GPU + TensorFlow-Umgebung
Umgebungskonstruktion von Python2 & 3 (OSX)
Memo zum Erstellen einer Python-Umgebung mit Docker unter Windows 10 Home
Umgebungskonstruktion von Python und OpenCV
Python-Umgebungskonstruktionsnotiz unter Windows 10
Beginnen Sie mit Python! ~ ① Umweltbau ~
Aufbau eines Linux-Webservers (Ubuntu & Apache)
Richten Sie eine Python-Entwicklungsumgebung unter Ubuntu ein
Python + Unity Verbesserte Erstellung von Lernumgebungen
Erstellen einer Python-Umgebung unter Ubuntu
[Django] Memorandum of Environment Construction Procedure
Ich habe die Konstruktion der Mac Python-Umgebung überprüft
Konstruktionsnotiz für die Python-Umgebung auf dem Mac
Python-Umgebungskonstruktion (Pyenv, Anaconda, Tensorflow)
[Python3] Aufbau der Entwicklungsumgebung << Windows Edition >>
Aufbau einer Python-Entwicklungsumgebung unter macOS
Python-Umgebungskonstruktion (Pyenv + Poesie + Pipx)
Erstellen einer Umgebung für Python3.8 auf einem Mac
Python3-Umgebungskonstruktion mit pyenv-virtualenv (CentOS 7.3)
Ab Ubuntu 20.04 Einführung in die Umgebungskonstruktion
Python3 TensorFlow für Mac-Umgebungskonstruktion
Konstruktionsnotiz für die Emacs Python-Entwicklungsumgebung
Konstruktionsnotiz für die Ubuntu Desktop 20.04-Entwicklungsumgebung
pytorch @ python3.8 Umgebungskonstruktion mit pipenv
Erstellen Sie die Python 3.8 + Pipenv-Umgebung unter Ubuntu 18.04
[Docker] Python3.5 + Numpy + Matplotlib-Umgebungskonstruktion
Erstellen einer Umgebung für "Tello_Video" unter Ubuntu
Python3.6-Umgebungskonstruktion (unter Verwendung der Win-Umgebung Anaconda)
[Pyenv] Erstellen einer Python-Umgebung mit Ubuntu 16.04
Erstellen Sie Python 3 und OpenCV unter Ubuntu 18.04
Virtuelle Python-Umgebung und Pakete unter Ubuntu
[Python] Straße zu Schlangen (1) Umgebungskonstruktion