So kompilieren und installieren Sie PHP und Nginx in einer Ubuntu-Umgebung

So kompilieren und installieren Sie PHP und Nginx in einer Ubuntu-Umgebung

Dieser Artikel beschreibt, wie man PHP und Nginx in einer Ubuntu-Umgebung kompiliert und installiert. Teilen Sie uns die Einzelheiten zu Ihrer Information mit:

Kompilieren und installieren Sie nginx

Wechseln Sie zum Arbeitsordner:

cd /usr/local/src

Laden Sie den PCRE-Quellcode herunter und installieren Sie ihn

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gz
tar -zxvf pcre2-10.20.tar.gz
mv ./pcre2-10.20.tar.gz ./pcre 
CD-PCRE
./configure --prefix=/usr/local/pcre
machen && machen installieren

Laden Sie den zlib-Quellcode herunter und installieren Sie ihn

wget http://tenet.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
mv ./zlib-1.2.8.tar.gz ./zlib
CD Zlib
./configure --prefix=/usr/local/zlib
machen && machen installieren

Laden Sie den Nginx-Quellcode herunter und installieren Sie ihn

wget http://nginx.org/download/nginx-1.8.1.tar.gz
tar -zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1
./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre --with-zlib=/usr/local/zlib
machen && machen installieren

Starten Sie nginx beim Booten

Fügen Sie /ect/init.d/nginx hinzu und schreiben Sie das Skript

#!/bin/bash
# Beschreibung: Startskript für Webserver auf CentOS. cp es in /etc/init.d und
# chkconfig --add nginx && chkconfig nginx ein
# dann können Sie den Serverbefehl verwenden, um nginx zu steuern
#
# chkconfig: 2345 08 99
# Beschreibung: Startet, stoppt nginx
setze -e
PFAD=$PFAD:/usr/local/nginx/sbin/
DESC="nginx-Daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/nginx.conf
PIDFILE=/var/run/nginx.pid
SCRIPTNAME=/etc/init.d/$NAME
# Beenden Sie ordnungsgemäß, wenn das Paket entfernt wurde.
test -x $DAEMON || beenden 0
d_start() {
$DAEMON -c $CONFIGFILE || echo -n " ​​läuft bereits"
}
d_stoppen() {
kill -QUIT `cat $PIDFILE` || echo -n " ​​läuft nicht"
}
d_neu laden() {
kill -HUP `cat $PIDFILE` || echo -n " ​​kann nicht neu laden"
}
Fall "$1" in
Start)
echo -n "$DESC beginnt: $NAME"
d_start
echo "."
;;
stoppen)
echo -n "$DESC wird gestoppt: $NAME"
d_stoppen
echo "."
;;
neu laden
echo -n "$DESC-Konfiguration neu laden …"
d_neu laden
echo "neu geladen."
;;
Neustart)
echo -n "$DESC wird neu gestartet: $NAME"
d_stoppen
Schlaf 1
d_start
echo "."
;;
*)
echo "Verwendung: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
Ausfahrt 3
;;
esac
Ausfahrt 0

chmod +x /etc/init.d/nginx
chkconfig --add nginx
chkconfig --level 2345 nginx ein
Dienst Nginx starten

Kompilieren und installieren Sie php5.6 aus dem Quellcode

PHP-Quellcode herunterladen

cd /usr/local/src
wget http://cn2.php.net/get/php-5.6.24.tar.gz/from/this/mirror
mv mirror php-5.6.24.tar.gz
tar -zxvf php-5.6.24.tar.gz
cd php-5.6.24

Abhängige Komponenten installieren

XML-Erweiterung

apt-get installiere libxml2-dev

PNG-Erweiterung

apt-get installiere libpng12-dev

FreeType-Erweiterung

apt-get -y installiere libfreetype6-dev

OpenSSL-Erweiterung

apt-get installiere openssl
apt-get installiere libcurl3-openssl-dev

JPEG-Erweiterung

apt-get installiere libjpeg-dev

Anweisung „Compile“

Konfigurationsdateien generieren

./configure --prefix=/opt/php --with-config-file-path=/opt/php/lib --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl-dir=/usr --with-openssl --with-pdo-mysql=mysqlnd --with-pear --enable-sockets --with-freetype-dir=/usr --enable-gd-native-ttf --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli

Nach der Installation der abhängigen Komponenten sollten keine Fehler auftreten. Falls Fehler auftreten, installieren Sie bitte die fehlenden Komponenten und generieren Sie die Konfigurationsdatei neu.

Kompilieren und Installieren

machen && machen installieren

PHP-Serverkonfiguration anzeigen

Wenn wir den Server migrieren, muss der Code zum Generieren der Konfigurationsdatei mit dem ursprünglichen PHP-Server übereinstimmen. Wir können php-config --configure-options verwenden, um ihn anzuzeigen.

Der Speicherort von php-config ist php/bin/php-config

Keine php.ini gefunden?

Nach dem Kompilieren und Installieren von PHP direkt gibt es keine php.ini. Wir können sie aus dem dekomprimierten Verzeichnis nach /opt/php/lib kopieren und dann so konfigurieren, dass sie wirksam wird.

/opt/php/lib ist der in ./configure konfigurierte Pfad.

Ich hoffe, dieser Artikel hilft Ihnen bei der Konfiguration Ihrer Ubuntu-Umgebung.

Das könnte Sie auch interessieren:
  • So kompilieren und installieren Sie PHP 5.3.3+Memcache unter Ubuntu
  • Kompilieren und installieren Sie die PHP5.3-Entwicklungsumgebung unter Ubuntu12
  • Tutorial zum Kompilieren und Installieren von PHP 5.6.29 aus dem Quellcode auf Ubuntu 16.04
  • Spezifische Schritte zum Kompilieren und Installieren von xcache für php5.3 unter Ubuntu
  • Ubuntu nginx kompilieren und installieren Parameterkonfiguration
  • Spezifische Schritte zur Installation und Konfiguration von nginx+php+mysql basierend auf Ubuntu
  • So installieren Sie PHP und konfigurieren PHP Nginx unter Ubuntu
  • Ubuntu+Nginx+Mysql+Php+Zend+eaccelerator Installations- und Konfigurationstextversion
  • Xen-basiertes VPS Ubuntu+Nginx+PHP Installations-Tutorial
  • So installieren Sie nginx+mariaDB+php7+YAF auf Ubuntu14.04LTS
  • Installieren des LEMP-Stacks für den Nginx-Server in Ubuntu 16.04 (Unterstützung für MariaDB, PHP 7 und HTTP 2.0)

<<:  Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.12

>>:  Vue+thinkphp5.1+axios zum Realisieren des Datei-Uploads

Artikel empfehlen

Detaillierte Erklärung der Getter-Verwendung in vuex

Vorwort Mit Vuex können wir im Store „Getter“ def...

CSS, um den kleinen scharfen Eckeneffekt von Blasen zu erzielen

Effektbild (die Rahmenfarbe ist zu hell, setzen S...

Optimierte Aufzeichnung der Verwendung von IN-Datenvolumen in Mysql

Die MySQL-Versionsnummer ist 5.7.28. Tabelle A ha...

Implementierung der Fastdfs+Nginx-Clusterkonstruktion

1. Einführung in Fastdfs 1. Was ist Fastdfs? Fast...

Verwenden Sie nginx, um virtuelle Hosts auf Domänennamenbasis zu konfigurieren

1. Was ist ein virtueller Host? Virtuelle Hosts v...

Natives JS zum Erzielen eines Puzzle-Effekts

In diesem Artikel wird der spezifische Code von n...

So fragen Sie den minimal verfügbaren ID-Wert in der MySQL-Tabelle ab

Als ich mir heute die Laborprojekte ansah, stieß ...

So führen Sie py-Dateien direkt unter Linux aus

1. Erstellen Sie zuerst die Datei (wechseln Sie p...

So führen Sie ein Python-Skript auf Docker aus

Erstellen Sie zunächst ein spezielles Projektverz...

Iframe-Parameter mit Anweisungen und Beispielen

<iframe src=”test.jsp” Breite=”100″ Höhe=”50″ ...

Zusammenfassung mehrerer Situationen, in denen MySQL-Indizes fehlschlagen

1. Indizes speichern keine Nullwerte Genauer gesa...