うすのブログ

初心者プログラマです。

Nginx PHP7 絶対にできる設定

簡単で絶対に設定できます。

php5や、一度設定したことがあれば、保証できません。 競合してめちゃくちゃになります。(体験談) nginxとphpを初めてインストールする人 さらに、debian系のディストリビューションなら間違いない。 うまくいかなければ、初期化して一からやることを進めます。 この記事は、初期化して一からやれば必ずできます。
Red-Hat系やMacOSは、参考程度によろしくお願いいたします。

それでは、始めます。

まず、installするものは、 nginx, php7.0, php7.0-fpmです。

$ sudo apt -y install nginx php7.0 php7.0-fpm

ちょっとした説明  aptは、apt-getの上位互換らしいです。 -yオプションは、選択を全てyesにします。

設定ファイルいじります。

はじめに indexにindex.phpを追加します。

その後、location ~ /.php{}の設定の中で includeの行と fastcgi_pass unixの行だけコメントはずします。

$ sudo vim /etc/nginx/sites-available/default
44 index index.html index.htm index.nginx-debian.html index.php;

56 location ~ \.php$ {
57 include snippets/fastcgi-php.conf;
58 #
59 # # With php-fpm (or other unix sockets):
60 fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
61 # # With php-cgi (or other tcp sockets):
62 # fastcgi_pass 127.0.0.1:9000;
63 }

次にfpmを編集します。

fpmとは phpを動作させるAppserverで Apacheなどでは、必要ない(Apacheが頑張る)が Nginxは、phpの仕事をしないのでfpmが必要。
それでは、やっていきましょう。

$ sudo vim /etc/php/7.0/fpm/php.init

760行目付近です。cgi.fixなどは、似たものがあるので気をつけてください。

760 cgi.fix_pathinfo=0

これだけで設定完了です。

あとは、リロードするだけ

$ sudo service php7.0-fpm restart
$ sudo service nginx restart
http://localhost/

でwebが表示されるはずです。

また、表示しているファイルは、 /var/www/htmlのディレクトリにあるファイルです。

以上です お疲れ様。