配置Nginx来支持php
轉載地址:https://www.cnblogs.com/jecyhw/p/5504855.html
1.安裝php7
? 下載地址:https://secure.php.net/downloads.php
? 這里下載的是:wget http://ar2.php.net/distributions/php-7.0.6.tar.gz
? 下載之后解壓并進入在解壓文件中
? 安裝: ./configure --enable-fpm(enable-fpm參數即可開啟PHP-FPM) -> make && make install
? (PHP在5.3.3之后已經將php-fpm寫入php源碼核心了)
? 注意:這里在configure之后,make過程中可能會出現找不到libiconv相關api的情況,所以需要先下載并安裝libiconv,這里需要用源碼安裝。然后,在configure的后面顯示指定libiconv的路徑,選項記不住了,可以通過./configure -h查詢
? 默認安裝目錄:
root@iZ25fm7iewtZ:/php-7.0.6# make install Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20151012/ Installing PHP CLI binary: /usr/local/bin/ Installing PHP CLI man page: /usr/local/php/man/man1/ Installing PHP FPM binary: /usr/local/sbin/ Installing PHP FPM config: /usr/local/etc/ Installing PHP FPM man page: /usr/local/php/man/man8/ Installing PHP FPM status page: /usr/local/php/php/fpm/ Installing phpdbg binary: /usr/local/bin/ Installing phpdbg man page: /usr/local/php/man/man1/ Installing PHP CGI binary: /usr/local/bin/ Installing PHP CGI man page: /usr/local/php/man/man1/ Installing build environment: /usr/local/lib/php/build/ Installing header files: /usr/local/include/php/ Installing helper programs: /usr/local/bin/program: phpizeprogram: php-config Installing man pages: /usr/local/php/man/man1/page: phpize.1page: php-config.1 Installing PEAR environment: /usr/local/lib/php/ [PEAR] Archive_Tar - already installed: 1.4.0 [PEAR] Console_Getopt - already installed: 1.4.1 [PEAR] Structures_Graph- already installed: 1.1.1 [PEAR] XML_Util - already installed: 1.3.0 [PEAR] PEAR - already installed: 1.10.1 Wrote PEAR system config file at: /usr/local/etc/pear.conf You may want to add: /usr/local/lib/php to your php.ini include_path /php-7.0.6/build/shtool install -c ext/phar/phar.phar /usr/local/bin ln -s -f phar.phar /usr/local/bin/phar Installing PDO headers: /usr/local/include/php/ext/pdo/2.安裝Nginx,見http://www.cnblogs.com/jecyhw/p/5505474.html
3.nginx整合php-fpm
? ?1.啟動php-fpm: /usr/local/sbin/php-fpm
報錯 [18-May-2016 18:07:58] ERROR: failed to open configuration file '/usr/local/etc/php-fpm.conf': No such file or directory (2) [18-May-2016 18:07:58] ERROR: failed to load configuration file '/usr/local/etc/php-fpm.conf' [18-May-2016 18:07:58] ERROR: FPM initialization failed? ?到/usr/local/etc目錄下,將php-fpm.conf.default拷貝一份成php-fpm.conf
? ?root@iZ25fm7iewtZ:/# cd /usr/local/php/etc/
? ?root@iZ25fm7iewtZ:/usr/local/etc# cp php-fpm.conf.default php-fpm.conf
??然后再編輯php-fpm.conf配置文件
;最后一行改成如下 include=/usr/local/etc/php-fpm.d/*.conf??進入到/usr/local/etc/php-fpm.d/目錄下,將www.conf.default拷貝一份成www.conf
root@iZ25fm7iewtZ:/usr/local/etc# cd php-fpm.d/ root@iZ25fm7iewtZ:/usr/local/etc/php-fpm.d# cp www.conf.default www.conf??編輯www.conf文件,將user和group改成和nginx.conf中的user和group一致
user = www group = www??再次啟動
/usr/local/sbin/php-fpm??查看是否啟動成功
root@iZ25fm7iewtZ:/usr/local/etc# ps -ef | grep php-fpm root 3691 1 0 18:49 ? 00:00:00 php-fpm: master process (/usr/local/etc/php-fpm.conf) www-data 3692 3691 0 18:49 ? 00:00:00 php-fpm: pool www www-data 3693 3691 0 18:49 ? 00:00:00 php-fpm: pool www root 4982 29553 0 18:59 pts/1 00:00:00 grep --color=auto php-fpmroot@iZ25fm7iewtZ:/usr/local/etc# netstat -tnl | grep 9000 tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN??開機啟動php-fpm,開機啟動的配置文件是:/etc/rc.local?,加入?/usr/local/sbin/php-fpm?即可
vi /etc/rc.local 添加 /usr/local/sbin/php-fpm修改nginx的配置文件,支持php文件的解析,找到location的添加位置,在后面添加下面這個location
location ~ \.php$ {root /var/www; #指定php的根目錄fastcgi_pass 127.0.0.1:9000;#php-fpm的默認端口是9000fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params; }??測試nginx.conf是否修改成功
??/usr/sbin/nginx?-t
重啟nginx
/usr/sbin/nginx -s reload進入到/var/www目錄(如果該目錄不存在的話,就使用mkdir命令創建)
vi index.php添加<?php phpinfo(); ?>?最后在瀏覽器中輸入:localhost/index.php即可
總結
以上是生活随笔為你收集整理的配置Nginx来支持php的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nginx开发简单的http模块
- 下一篇: Apache2.4开启php