ホームページ  >  記事  >  バックエンド開発  >  Ubuntu に Nginx をインストールする (Nginx + Php5-fpm)

Ubuntu に Nginx をインストールする (Nginx + Php5-fpm)

WBOY
WBOYオリジナル
2016-06-23 13:40:24871ブラウズ

nginx の導入についてはあまり詳しく説明しませんので、まずシステムのインストール環境について説明します。


0. インストール環境

システム: Ubuntu 14.04

PHP バージョン: 5.5.9

既存サーバーソフトウェア: Apache (基本的に影響なし、後述)


1. Nginxのインストール

sudo apt-get install nginx
Apache をインストールしていて、この時点で Apache が実行されている場合は、まず設定ファイルを変更してください (設定ファイルを持っていない学生は直接スキップします):
#打开配置文件sudo vim /etc/nginx/sites-available/default

次に、次の 2 つの変更を加えます ( Apache と競合します):

server {        #修改这里 我将 80 改为 88	listen 88 default_server;        #还有这里 同样改为你想要的监听端口	listen [::]:88 default_server ipv6only=on;        .....
この時点で、nginx が正常にインストールされているかどうかをテストします。上記の変更を行っていない場合は、ブラウザに localhost を直接入力してください。変更した場合は、忘れずにポートを追加してください。次のインターフェイスが表示されたら、インストールします。


2. php5-fpm

をインストールします

apt-get:

sudo apt-get install php5-fpm

を使用します。 PHP をサポートするファイル
同様に設定ファイルを開きます:

#打开配置文件sudo vim /etc/nginx/sites-available/default
まず、index.php の後に
server {	listen 88 default_server;	listen [::]:88 default_server ipv6only=on;	root /usr/share/nginx/html;        #修改这里,在 index 后添加 index.php	index index.php index.html index.htm;	# Make site accessible from http://localhost/	server_name localhost;        ....
を追加します。次に、次のコメントを削除してどこにあるかを確認します:

	# 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;	}
次に再起動します:

#这一句虽然没必要但可以给你检查配置文件的错误sudo nginx -s reload#重启 php5-fpmsudo /etc/init.d/php5-fpm restart #重启 nginxsudo /etc/init.d/nginx restart 
4. テスト

#修改权限sudo chmod 777 /usr/share/nginx/html/#新建测试文件vim /usr/share/nginx/html/index.php
ファイルに入力します 次の内容で十分です:

<?phpphpinfo();?>
ブラウザを開き、アドレスをもう一度入力します。localhost または localhost:port (私は localhost:88) となります。次のインターフェイスが表示されたら成功です:



問題: インストール Web ページを開くと「502 Bad Gateway」が表示されます

一部の学生はオンライン チュートリアルに従ってインストールする可能性がありますが、「502 Bad Gateway」はインストールされません。ああ、チュートリアルが間違っているので心配しないでください....

多くのチュートリアルは昔のものなので、設定ファイルを変更するときは、これら 3 つをコメントアウトするように指示されます。行:

location ~ \.php$ {    fastcgi_pass 127.0.0.1:9000;    fastcgi_index index.php;    include fastcgi_params;}
ここの fastcgi_pass 変数は間違っているはずです。これは PHP 5.4 以降に適用され、php5-fpm はポート 9000 をリッスンしません。その設定ファイルを確認してください:

#php5-fpm 的配置文件sudo vim /etc/php5/fpm/pool.d/www.conf
最後の行の listen に注目してください。元のバージョンは listen = 127.0.0.1:9000 ですが、最新バージョンは次のようになります。

; The address on which to accept FastCGI requests.; Valid syntaxes are:;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific address on;                            a specific port;;   'port'                 - to listen on a TCP socket to all addresses on a;                            specific port;;   '/path/to/unix/socket' - to listen on a unix socket.; Note: This value is mandatory.listen = /var/run/php5-fpm.sock
ということで、502 です。 ..

解決策:

nginx 設定ファイルを開きます:

#打开配置文件sudo vim /etc/nginx/sites-available/default
次に、文 9000 をコメントアウトし、新しい fast _pass 変数に置き換えます:

	location ~ \.php$ {	#	fastcgi_pass 127.0.0.1:9000;		fastcgi_pass unix:/var/run/php5-fpm.sock;		fastcgi_index index.php;		include fastcgi_params;	}
正常に動作するはずです、信じないでください、 それを試してみてください?


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。