Installieren Sie mehrere PHP-Versionen für Nginx unter Linux

Installieren Sie mehrere PHP-Versionen für Nginx unter Linux

Wenn wir die LNPM-Serverumgebung installieren und konfigurieren, sollten wir die Koexistenz mehrerer PHP-Versionen berücksichtigen. Im Folgenden wird beschrieben, wie Sie mehrere PHP-Versionen für Nginx unter einem Linux-System installieren.

Linux-Version: 64-Bit CentOS 6.4

Nginx-Version: nginx1.8.0

PHP-Version: php5.5.28 und php5.4.44

Beachten Sie, dass Sie, wenn php5.5 die Hauptversion ist und im Verzeichnis /usr/local/php installiert wurde, andere PHP-Versionen installieren und andere Installationsverzeichnisse angeben können.

Installieren Sie PHP

# wget http://cn2.php.net/get/php-5.4.44.tar.gz/from/this/mirror
# tar zxvf php-5.4.44.tar.gz
# cd php-5.4.44
#./configure --prefix=/usr/local/php5.4.44 \
--mit-curl \
--with-freetype-dir \
--mit-gd \
--mit-gettext \
--with-iconv-dir \
--mit-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--mit-mysql \
--mit-mysqli \
--mit-openssl \
--mit-pcre-regex \
--mit-pdo-mysql \
--mit-pdo-sqlite \
--mit-Birne \
--with-png-dir \
--mit-xmlrpc \
--mit-xsl \
--mit-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip
# machen && machen installieren
# cp -R ./sapi/fpm/php-fpm.conf /usr/local/php5.4.44/etc/php-fpm.conf
# cp php.ini-Entwicklung /usr/local/php5.4.44/lib/php.ini
# cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm5.4.44

Ändern Sie den Abhörport von php-fpm.conf auf 9001, da die Hauptversion 5.5.28 auf 9000 hört.

; Hinweis: Dieser Wert ist obligatorisch.
hören = 127.0.0.1:9001

Starten Sie php-fpm

# /etc/init.d/php-fpm5.4.44

PHP-Installation erfolgreich, Fortschritt anzeigen

#ps aux|grep php

Jetzt wurde php-fpm gestartet.

Konfigurieren Sie Nginx

Fügen Sie einfach eine neue Port-8054-Konfiguration hinzu und richten Sie sie auf 9001 und das angegebene Verzeichnis aus:

Server {
    hören Sie 8054;
    Servername localhost;


    Standort / {
      #Wurzel-HTML;
root /usr/www5.4.44;
      Index Index.html Index.htm;
    }


    Fehlerseite 500 502 503 504 /50x.html;
    Standort = /50x.html {
      Stamm-HTML;
    }


Standort ~ \.php$ {
Stamm-HTML;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_params einschließen;
fastcgi_param SCRIPT_FILENAME /usr/www5.4.44$fastcgi_script_name;
}
 
  }


Die nginx-Konfigurationsdatei nginx.conf befindet sich in

# cd /usr/local/nginx/conf

Die vollständige Nginx-Konfiguration sieht wie folgt aus:

#Benutzer niemand;
Arbeitsprozesse 4;
 
#error_log Protokolle/Fehler.log;
#error_log Protokolle/error.log Hinweis;
#error_log Protokolle/error.log-Info;
 
#pid-Protokolle/nginx.pid;
 
 
Ereignisse {
  Arbeiterverbindungen 1024;
}
 
 
http {
  mime.types einschließen;
  Standardtyp Anwendung/Oktett-Stream;
 
  #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  # '$status $body_bytes_sent "$http_referer" '
  # '"$http_user_agent" "$http_x_forwarded_for"';
 
  #access_log Protokolle/access.log Haupt;
 
  sendfile an;
  #tcp_nopush ein;
 
  #keepalive_timeout 0;
  KeepAlive-Timeout 65;
 
  #gzip ein;
 
  Server {
    hören Sie 80;
    Servername localhost;
 
    #Zeichensatz koi8-r;
 
    #access_log Protokolle/Host.access.log Haupt;
 
    Standort / {
      #Wurzel-HTML;
			root /usr/www;
      Index Index.html Index.htm;
    }
 
    #Fehlerseite 404 /404.html;
 
    # Server-Fehlerseiten auf die statische Seite /50x.html umleiten
    #
    Fehlerseite 500 502 503 504 /50x.html;
    Standort = /50x.html {
      Stamm-HTML;
    }
 
    # Proxy für die PHP-Skripte an Apache, das auf 127.0.0.1:80 lauscht
    #
    #Standort ~ \.php$ {
    # Proxy-Passwort http://127.0.0.1;
    #}
 
    # Übergeben Sie die PHP-Skripte an den FastCGI-Server, der auf 127.0.0.1:9000 lauscht.
    #
    #Standort ~ \.php$ {
    #Wurzel-HTML;
    # fastcgi_pass 127.0.0.1:9000;
    # fastcgi_index index.php;
    # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    #fastcgi_params einschließen;
    #}
 
		Standort ~ \.php$ {
		Stamm-HTML;
		fastcgi_pass 127.0.0.1:9000;
		fastcgi_index index.php;
		fastcgi_params einschließen;
		fastcgi_param SCRIPT_FILENAME /usr/www$fastcgi_script_name;
		}
 
    # Zugriff auf .htaccess-Dateien verweigern, wenn das Apache-Dokumentenstammverzeichnis
    # stimmt mit nginx überein
    #
    #Standort ~ /\.ht {
    # alles ablehnen;
    #}
  }
	
	Server {
    hören Sie 8054;
    Servername localhost;
 
    Standort / {
      #Wurzel-HTML;
			root /usr/www5.4.44;
      Index Index.html Index.htm;
    }
 
    Fehlerseite 500 502 503 504 /50x.html;
    Standort = /50x.html {
      Stamm-HTML;
    }
 
		Standort ~ \.php$ {
		Stamm-HTML;
		fastcgi_pass 127.0.0.1:9001;
		fastcgi_index index.php;
		fastcgi_params einschließen;
		fastcgi_param SCRIPT_FILENAME /usr/www5.4.44$fastcgi_script_name;
		}
 
  }
 
 
	
  # ein weiterer virtueller Host mit einer Mischung aus IP-, Namens- und Port-basierter Konfiguration
  #
  #server {
  # hören Sie 8000;
  # hören Sie irgendein Name:8080;
  # Servername irgendein Name Alias ​​anderer.Alias;
 
  # Standort / {
  #Wurzel-HTML;
  # index.html index.htm;
  # }
  #}
 
 
  # HTTPS-Server
  #
  #server {
  # 443 SSL abhören;
  # Servername localhost;
 
  # SSL-Zertifikat cert.pem;
  # SSL-Zertifikatsschlüssel cert.key;
 
  # ssl_session_cache geteilt:SSL:1m;
  #ssl_session_timeout 5m;
 
  # ssl_ciphers HOCH:!aNULL:!MD5;
  # ssl_prefer_server_ciphers ein;
 
  # Standort / {
  #Wurzel-HTML;
  # index.html index.htm;
  # }
  #}
 
}

Starten Sie nginx neu

# /usr/local/nginx/sbin/nginx -s neu laden

Beachten Sie, dass Sie in der Firewall einen neuen Port öffnen müssen, da Sie sonst nicht darauf zugreifen können:

Firewall-Konfiguration

Beachten Sie, dass Sie die Firewall ändern müssen, um Port 80 zu aktivieren, wenn Sie auf einem lokalen Computer (z. B. XP, CentOS 6) auf die Webseite der virtuellen Maschine zugreifen möchten.

# cd /etc/sysconfig

Ändern Sie die iptables-Datei oder bearbeiten Sie sie direkt mit vim

# vim /etc/sysconfig/iptables

Fügen Sie die folgende Zeile hinzu, um Port 80 in der Firewall zu öffnen:

-A INPUT -m Status --state NEU -m tcp -p tcp --dport 8054 -j AKZEPTIEREN

Starten Sie die Firewall neu

# /etc/init.d/iptables neu starten

Überprüfen Sie phpinfo(), um zu sehen, ob der Test erfolgreich ist.

Oben ist die Methode zum Installieren mehrerer PHP-Versionen für Nginx unter Linux beschrieben. Ich hoffe, sie ist für alle nützlich.

Das könnte Sie auch interessieren:
  • Erstellen einer LEMP-Umgebung (Linux+Nginx+MySQL+PHP) unter CentOS 8.1 (Details zum Tutorial)
  • Detaillierte Erklärung zur Installation von PHP7 unter Linux
  • Detaillierte Erklärung zur Installation der PHP-Curl-Erweiterung unter Linux
  • So führen Sie Linux-Befehle in PHP aus
  • So installieren Sie Redis in PHP7 unter Linux
  • So erstellen Sie phpMyAdmin in Linux basierend auf der PHP-FPM-Moduslampe
  • Tutorial zur Installation von lnmp mit yum auf centos7 (linux+nginx+php7.1+mysql5.7)
  • PHP führt 6 Linux-Befehlsfunktionscodebeispiele aus

<<:  So lösen Sie das Problem, das Root-Passwort von Mysql auf dem Mac zu vergessen

>>:  Detaillierte Erläuterung der Einschränkungen und Beschränkungen von MySQL-partitionierten Tabellen

Artikel empfehlen

jQuery implementiert einen einfachen Popup-Fenstereffekt

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

Detaillierte Erklärung der Docker-Nutzung unter CentOS8

1. Installation von Docker unter CentOS8 curl htt...

MySQL wählt die richtige Speicher-Engine

Wenn es um Datenbanken geht, ist eine der am häuf...

CSS3 realisiert Partikelanimationseffekte beim Matching von Königen

Beim Codieren werden Sie feststellen, dass viele ...

So verwenden Sie Dayjs zum Berechnen gängiger Daten in Vue

Bei der Verwendung von Vue zur Entwicklung von Pr...

Lösen Sie schnell das Problem des langsamen Tomcat-Starts, super einfach

Heute habe ich einem Klassenkameraden geholfen, e...

Natives JS zum Erzielen von Verzeichnis-Scrolleffekten

Hier ist ein Text-Scrolling-Effekt, der mit nativ...

Beispiel für die Migration einer MySQL-Online-Protokollbibliothek

Ich möchte Ihnen von einem aktuellen Fall erzähle...

Grundlegende Verwendung der Funktion find_in_set in MySQL

Vorwort Dies ist eine neue Funktion, die ich kürz...

Tutorial zu HTML-Tabellen-Tags (11): Horizontales Ausrichtungsattribut ALIGN

In horizontaler Richtung können Sie die Ausrichtu...