nginx の導入についてはあまり詳しく説明しませんので、まずシステムのインストール環境について説明します。
0. インストール環境
システム: Ubuntu 14.04
PHP バージョン: 5.5.9
既存サーバーソフトウェア: Apache (基本的に影響なし、後述)
1. Nginxのインストール
sudo apt-get install nginx
#打开配置文件sudo vim /etc/nginx/sites-available/default
次に、次の 2 つの変更を加えます ( Apache と競合します):
server { #修改这里 我将 80 改为 88 listen 88 default_server; #还有这里 同样改为你想要的监听端口 listen [::]:88 default_server ipv6only=on; .....
2. php5-fpm
apt-get:
sudo apt-get install php5-fpm
を使用します。 PHP をサポートするファイル
同様に設定ファイルを開きます:
#打开配置文件sudo vim /etc/nginx/sites-available/default
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
#修改权限sudo chmod 777 /usr/share/nginx/html/#新建测试文件vim /usr/share/nginx/html/index.php
<?phpphpinfo();?>
問題: インストール Web ページを開くと「502 Bad Gateway」が表示されます
一部の学生はオンライン チュートリアルに従ってインストールする可能性がありますが、「502 Bad Gateway」はインストールされません。ああ、チュートリアルが間違っているので心配しないでください....
多くのチュートリアルは昔のものなので、設定ファイルを変更するときは、これら 3 つをコメントアウトするように指示されます。行:
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params;}
#php5-fpm 的配置文件sudo vim /etc/php5/fpm/pool.d/www.conf
; 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
解決策:
nginx 設定ファイルを開きます:
#打开配置文件sudo vim /etc/nginx/sites-available/default
location ~ \.php$ { # fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; }