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

TypeScript-Aufzählungstyp

Inhaltsverzeichnis 1. Übersicht 2. Digitale Aufzä...

Detaillierte Erklärung des Pufferpools in MySQL

Jeder weiß, dass Daten in MySQL auf die Festplatt...

Gründe, warum MySQL 8.0-Statistiken ungenau sind

Vorwort Unabhängig davon, ob es sich um Oracle od...

JS realisiert den Front-End-Paging-Effekt

In diesem Artikelbeispiel wird der spezifische JS...

Löschen von Dateien mit Leerzeichen in Linux (keine Verzeichnisse)

In unserer täglichen Arbeit kommen wir oft mit Da...

Beispielcode zum Bereitstellen von ELK mit Docker-Compose

Umfeld Host-IP 192.168.0.9 Docker-Version 19.03.2...

So verwenden Sie „union all“ in MySQL, um die Union-Sortierung zu erhalten

Manchmal kommt es in einem Projekt aus irreversib...

Verwendung der Zabbix-API in einer Linux-Shell-Umgebung

Sie können es direkt in der Linux-Shell-Umgebung ...