Heim  >  Artikel  >  Backend-Entwicklung  >  Verwenden Sie Nginx, um einen PHP-Server zu erstellen

Verwenden Sie Nginx, um einen PHP-Server zu erstellen

WBOY
WBOYOriginal
2016-08-08 09:28:411325Durchsuche

Im Allgemeinen verwenden wir Apache als PHP-Parsing-Server. Dieses Mal verwenden wir Nginx, einen leistungsstarken Reverse-Proxy-Server, um den PHP-Server zu erstellen. Nehmen wir als Beispiel die Linux-Distribution Ubuntu, um einen Nginx-PHP-Server zu bauen.

Laden Sie zuerst Nginx herunter und installieren Sie es
<code>sudo apt-get install nginx
</code>
Nach Abschluss der Installation starten Sie Nginx
<code>sudo /etc/init.d/nginx start
</code>
Öffnen Sie zu diesem Zeitpunkt den Browser und geben Sie http:// ein localhost/ zu sehen Wir haben die Seite „Willkommen bei Nginx!“ erreicht, was darauf hinweist, dass unser Nginx-Server erfolgreich installiert wurde Als nächstes installieren Sie PHP5
<code>sudo apt-get install php5-fpm
</code>
Nach erfolgreicher Installation benötigen wir Um die Konfiguration der virtuellen Maschine von Nginx zu ändern, um das Durchsuchen zu ermöglichen, können vom Server angeforderte PHP-Dateien von PHP CGI analysiert werden. Bearbeiten Sie die Konfigurationsdatei der virtuellen Nginx-Maschine /etc/nginx/sites-available/default
<code>sudo vim /etc/nginx/sites-available/default
</code>
und ändern Sie dann die darin enthaltene Konfiguration auf den folgenden Konfigurationsinhalt:
<code># You may add here your
# server {
#   ...
# }
# statements for each of your virtual hosts to this file

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

server {
    listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default ipv6only=on; ## listen for ipv6

    root /usr/share/nginx/www;
    index index.html index.htm index.php;

    # Make site accessible from http://localhost/
    server_name localhost;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to index.html
        try_files $uri $uri/ /index.html;
        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
    }

    location /doc/ {
        alias /usr/share/doc/;
        autoindex on;
        allow 127.0.0.1;
        deny all;
    }

    # Only for nginx-naxsi : process denied requests
    #location /RequestDenied {
        # For example, return an error code
        #return 418;
    #}

    error_page 404 /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/www;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

        # With php5-cgi alone:
        fastcgi_pass 127.0.0.1:9000;
        # With php5-fpm:
        #fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny all;
    }
}

# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
#   listen 8000;
#   listen somename:8080;
#   server_name somename alias another.alias;
#   root html;
#   index index.html index.htm;
#
#   location / {
#       try_files $uri $uri/ /index.html;
#   }
#}

# HTTPS server
#
#server {
#   listen 443;
#   server_name localhost;
#
#   root html;
#   index index.html index.htm;
#
#   ssl on;
#   ssl_certificate cert.pem;
#   ssl_certificate_key cert.key;
#
#   ssl_session_timeout 5m;
#
#   ssl_protocols SSLv3 TLSv1;
#   ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
#   ssl_prefer_server_ciphers on;
#
#   location / {
#       try_files $uri $uri/ /index.html;
#   }
#}
</code>
Laden Sie die Änderungen neu Wir haben gerade die Nginx-Konfiguration erstellt
<code>sudo /etc/init.d/nginx reload
</code>
Dann erstellen wir eine neue phpinfo.php-Datei im Verzeichnis /usr/share/nginx/www/, um die Konfigurations- und Umgebungsinformationen von PHP anzuzeigen
<code>sudo vim /usr/share/nginx/www/phpinfo.php
</code>
Geben Sie den folgenden Inhalt in phpinfo.php ein:
<code><?php
  phpinfo();
?>
</code>
Wir geben http://localhost/phpinfo.php in den Browser ein, um die PHP-Informationsseite anzuzeigen, einschließlich Version und anderen Informationen. PHP5 verfügt auch über viele unterstützte Module. Sie können diese bei Bedarf installieren, z. B. php5-mysql Vergessen Sie nicht, PHP5 nach der Installation des PHP-Moduls neu zu starten. Führen Sie den folgenden Befehl aus, um neu zu starten
<code>sudo apt-get install php5-mysql
</code>
<code>sudo /etc/init.d/php5-fpm restart
</code>
Das Obige stellt die Verwendung von Nginx zum Erstellen eines PHP-Servers vor, einschließlich einiger Aspekte des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn