web-dev-qa-db-ja.com

Nginxは実行中ですが、phpファイルを提供していません

Ubuntu 16.0でNginxとphp 7をセットアップしようとしています。これより前は、WindowsでWAMPしか使用していませんでした。ターミナルでこのコマンドを実行すると、nginxとphpが正常にインストールされました。

curl -I -v http:// localhost /

それはnginxサーバーは大丈夫であることを示していますが、それはサービスを提供していませんPHP files、これをほぼ一日のために理解してアベイルズを知るために試みました、私はこのサイトとすべてで同様の質問を検索しましたインターネット上では何も役に立たないようです、私の設定ファイルは次のようになります:

# Default server configuration
#
server {
  listen 80 default_server;
  listen [::]:80 default_server;

# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;

root /var/www/html;

# Add index.php to the list if you are using PHP
index index.php INFO.PHP index.html index.htm index.nginx-debian.html;

server_name 127.0.0.1:80;

location / {
    # First attempt to serve request as file, then
    # as directory, then fall back to displaying a 404.
    try_files $uri $uri/ =404;
}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
#   include snippets/fastcgi-php.conf;
#
#   # With php7.0-cgi alone:
#   fastcgi_pass 127.0.0.1:9000;
#   # With php7.0-fpm:
    fastcgi_pass unix:/run/php/php7.0-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;
#}
}


 #server {
 #  listen 80;
 #  listen [::]:80;
 #
 #  server_name example.com;
 #
 #  root /var/www/example.com;
 #  index index.html;
 #
 #  location / {
 #      try_files $uri $uri/ =404;
 #  }
 #}

レンダリングのヘルプはよろしくお願いします。

3
e_green

php7.0-fpmサービスが実行されているかどうかを確認します。
systemctl list-units 'php*' php-fpmが良好なステータスの場合、結果はアクティブで実行中です。 php7.0-fpmが実行されていなかった場合は、有効にします。
systemctl list-units 'php*'をもう一度確認してください。

そして、してみてください
curl -v 'http://localhost/index.php' phpの結果を取得できる場合は、場所/ブロックのtry_filesディレクティブを確認します。

2
minish

2つの理由。

  1. Php7.0-fpmが機能していない可能性があります。ステータスを確認してください。
  2. すべてのphp拡張ファイルをfastcgi_pass unix:/run/php/php7.0-fpm.sock;、つまり一時的に作成されたソケットに渡します。 php7.0-fpmが別のソケットで実行されている可能性があります。これはデフォルトのポートですが、ここでリスニングポートとユーザーグループの構成を確認するように求められます。あなたはphp7-fpmの設定を見つけることができます

    /etc/php/7.0/fpm/pool.d/www.conf

まだ問題がある この記事を参照してください

0
Saurabh Pandey