本ページは広告が含まれています。気になる広告をクリック頂けますと、サーバ運営費になります(^^
NginxでPHPを動かす方法
UbuntuでPHPを動かしたい
sudo apt-get install php php-cgi php-cli php-fpm
sudo vi /etc/php/7.0/fpm/pool.d/www.conf user = www-data group = www-data listen.mode = 0660 listen = /var/run/php/php7.0-fpm.sock
nginx.conf を編集し、serverディレクティブ内に設定する
server {
listen 80;
sudo vi /etc/nginx/nginx.conf location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
DebianでPHPを動かしたい
apt-get install php5-common php5-cgi php5-cli php5-fpm
location ~ \.php$ { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
共通設定
おお、こんな感じで、phpinfoにアクセスできない
*1 connect() to unix:/var/run/php-fpm/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: xxx.xxx.xxx.xxx, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "xxx.xxx.xxx.xxx"
多分、nginx起動時のユーザが誰になるのか指定してなかったせいじゃないかと思う。
しょうがないので、もう一度makeからしなおす。debianだと、webユーザはwww-dataがデフォルトなのでこれに合わせてコンパイルする。
id www-data uid=33(www-data) gid=33(www-data) groups=33(www-data)
sudo ./configure --user=www-data --group=www-data --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx /nginx.conf --add-module=../nginx-rtmp-module --prefix=/usr/local/nginx make install
さて気を取り直して、もう一度スタートして、www-dataユーザで動いているか確認
sudo /usr/sbin/nginx
ps aux |egrep 'www-data' www-data 12224 0.0 0.2 92684 8100 ? S 14:16 0:00 php-fpm: pool www www-data 12225 0.0 0.1 92684 7752 ? S 14:16 0:00 php-fpm: pool www www-data 12304 0.0 0.0 14244 2680 ? S 14:20 0:00 nginx: worker process
vi /usr/local/nginx/html/phpinfo.php <?php phpinfo(); ?>
で表示させたら、無事phpinfoが表示された