當前位置:首頁 » 編程語言 » nginxphpini配置

nginxphpini配置

發布時間: 2024-10-22 16:26:54

雲伺服器如何配置nginx支持php

[root@redhat7 ~]# wget http://am1.php.net/get/php-7.1.2.tar.gz/from/this/mirror
[root@redhat7 ~]# tar xzvf php-7.1.2.tar.gz
[root@redhat7 ~]# cd php-7.1.2/
[root@redhat7 ~]# ./configure --prefix=/usr/local/php --enable-fpm
[root@redhat7 php-7.1.2]# make&&make install
查看是否成功編譯安裝PHP
[root@redhat7 php-7.1.2]# php -v
PHP 7.1.2 (fpm-fcgi) (built: Apr 14 2017 20:21:53)
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

編譯安裝完成後PHP不具備配置文件php.ini,此時只需復制php.ini-proction到 /usr/local/lib/php.ini即可,php.ini文件一般在/usr/local/lib/和/etc目錄下

[root@localhost php-7.1.2]# cp php.ini-proction /usr/local/lib/php.ini
[root@redhat7 php]# /usr/local/php/sbin/php-fpm
[14-Apr-2017 20:59:49] ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2)
[14-Apr-2017 20:59:49] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'
[14-Apr-2017 20:59:49] ERROR: FPM initialization failed
啟動php-fpm發現缺乏配置文件/usr/local/php/etc/php-fpm.conf
此時只需復制php-fpm的配置文件在安裝php時提供的配置文件的模版/usr/local/php/etc/php-fpm.conf.default到相應/usr/local/php/etc/php-fpm.conf即可

[root@redhat7 etc]# /usr/local/php/sbin/php-fpm
[14-Apr-2017 21:14:32] WARNING: Nothing matches the include pattern '/usr/local/php/etc/php-fpm.d/﹡.conf' from /usr/local/php/etc/php-fpm.conf at line 125.
[14-Apr-2017 21:14:32] ERROR: No pool defined. at least one pool section must be specified in config file
[14-Apr-2017 21:14:32] ERROR: failed to post process the configuration
[14-Apr-2017 21:14:32] ERROR: FPM initialization failed

[root@redhat7 etc]# cp php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

[root@redhat7 etc]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
[root@redhat7 etc]# /etc/init.d/php-fpm
[14-Apr-2017 21:23:02] ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)
[14-Apr-2017 21:23:02] ERROR: FPM initialization failed
[root@redhat7 etc]# netstat -nldp|grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3721/php-fpm: maste
[root@redhat7 php-7.1.2]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@redhat7 php-7.1.2]# chmod a+x /etc/init.d/php-fpm
[root@redhat7 php-7.1.2]# ll /etc/init.d/php-fpm
-rwxr-xr-x 1 root root 2401 4月 14 21:26 /etc/init.d/php-fpm
[root@redhat7 php-7.1.2]# /etc/init.d/php-fpm start
Starting php-fpm [14-Apr-2017 21:28:09] ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)
[14-Apr-2017 21:28:09] ERROR: FPM initialization failed
failed
[root@redhat7 php-7.1.2]# netstat -nldp |grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3721/php-fpm: maste
[root@redhat7 php-7.1.2]# kill 3721
[root@redhat7 php-7.1.2]# netstat -nldp |grep 9000
[root@redhat7 php-7.1.2]# /etc/init.d/php-fpm start
Starting php-fpm done
[root@redhat7 php-7.1.2]# service php-fpm status
php-fpm (pid 3927) is running...
[root@redhat7 php-7.1.2]# chkconfig --add php-fpm
[root@redhat7 php-7.1.2]# chkconfig php-fpm --level 345 on

配置nginx支持PHP
修改nginx的配置文件,支持php文件的解析,找到location的添加位置,在後面添加下面這個location
location ~ .php$ {
root /usr/share/nginx/html; #指定php的根目錄
fastcgi_pass 127.0.0.1:9000;#php-fpm的默認埠是9000
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

Ⅱ ubuntu下配置nginx+php+mysql詳解_php實例

為了在Ubuntu下配置好Nginx+PHP+MySQL環境,本文將詳細介紹從基礎到高級的安裝步驟和配置細節。請按照以下步驟操作,確保順利搭建好所需環境。



1. 更新系統


首先更新你的Ubuntu系統,確保所有已安裝軟體包的版本是最新的。使用命令:


sudo apt-get update



2. 安裝Nginx


安裝Nginx,該Web伺服器將作為你的應用伺服器。執行命令:


sudo apt-get install nginx



安裝後,Ubuntu系統將為Nginx配置文件、程序文件、日誌文件和啟動腳本建立相應的目錄結構。



Nginx的文件結構包括:



  • 所有配置文件位於`/etc/nginx`目錄下

  • 每個虛擬主機的配置文件存放於`/etc/nginx/sites-available`目錄

  • 程序文件位於`/usr/sbin/nginx`

  • 日誌文件存放於`/var/log/nginx`

  • 啟動腳本在`/etc/init.d/`目錄中

  • 默認虛擬主機目錄設置為`/var/www/nginx-default`



啟動Nginx並驗證安裝:



  • 使用命令`sudo /etc/init.d/nginx start`或`service nginx start`啟動Nginx。

  • 打開瀏覽器,訪問`http://localhost/`。如果顯示「Welcome to nginx!」,則安裝成功。



3. 安裝PHP


安裝PHP和一系列PHP擴展,確保Nginx可以正確執行PHP腳本。執行命令:


sudo apt-get install php5 php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-tidy php5-xmlrpc php5-sqlite php5-xsl



4. 安裝spawn-fcgi


spawn-fcgi 用於管理PHP-cgi進程,防止進程崩潰或效率低下。運行:


sudo apt-get install spawn-fcgi



5. 配置Nginx與spawn-fcgi


為了使Nginx與spawn-fcgi協同工作,需要進行一些配置調整。首先,在`/etc/nginx/fastcgi_params`文件中,添加以下行:


fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;



然後,在PHP-CGI配置文件`/etc/php5/cgi/php.ini`中修改`cgi.fix_pathinfo`選項為:


cgi.fix_pathinfo=1;



這將允許PHP-CGI正確處理`SCRIPT_FILENAME`變數。接著,編輯`/etc/nginx/sites-available/default`文件,更新`server`配置以指向正確的web根目錄`/var/www/nginx-default`。



在`server`塊中添加:


location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name; include /etc/nginx/fastcgi_params; }



確保PHP文件可以正確載入。



6. 啟動fast_cgi進程


使用以下命令啟動spawn-fcgi進程:


sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid



7. 設置開機啟動與驗證


在`/etc/rc.local`文件中添加以下行以確保fast_cgi進程在系統啟動時自動運行:


/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid



如果遇到`No input file specified`錯誤,請檢查`php.ini`配置中的`cgi.fix_pathinfo`設置和`doc_root`路徑是否正確。



最後,進行MySQL安裝:


sudo apt-get install mysql-server mysql-client


按照提示輸入Root用戶密碼,並啟動MySQL服務:


sudo /etc/init.d/mysql start



使用命令`mysql -uroot -p`連接MySQL,並運行`show databases;`查詢資料庫,確認MySQL已正確安裝。



至此,Ubuntu下Nginx+PHP+MySQL環境已成功搭建完成。

Ⅲ 為什麼centos7下nginx的php怎麼開啟報錯

首先要編輯php配置文件:

vi /etc/php.ini
error_reporting = E_ERROR
display_errors = On

因為我開啟了php-fpm。所以,還要編輯 php-fpm.conf文件,把php_flag[display_errors]設為on:

vi php-fpm.conf

php_flag[display_errors] = on

這樣在開發的時候就可以在瀏覽器中顯示php出現的錯誤了,非常方便。

Ⅳ nginx下怎麼修改php.ini

nginx不能修改php.ini,建議在系統中修改php.ini文件,而不要暴露php.ini到站點下
否則會存在安全問題
理論上可以通過php代碼修改php.ini配置,但設置方法非常繁瑣,各種許可權都需要放開,同時及其不安全,但php中可以通過代碼改變當前運行環境的php配置,不需要修改php.ini全局配置

熱點內容
演算法開發板 發布:2024-10-22 18:23:54 瀏覽:190
ftp條款 發布:2024-10-22 18:06:36 瀏覽:695
客服的服務密碼是什麼 發布:2024-10-22 17:55:24 瀏覽:802
列印asp源碼 發布:2024-10-22 17:52:36 瀏覽:300
充值卡如何查詢卡號密碼 發布:2024-10-22 17:43:09 瀏覽:476
scrollerandroid 發布:2024-10-22 17:40:13 瀏覽:445
pythonaesecb 發布:2024-10-22 17:30:45 瀏覽:731
簡述編譯器的查錯與改錯的作用 發布:2024-10-22 17:30:09 瀏覽:934
接入交換機需要配置哪些東西 發布:2024-10-22 17:21:52 瀏覽:357
游戲採集通用腳本 發布:2024-10-22 17:17:21 瀏覽:474