导航:首页 > 编程语言 > nginxphpfpm启动

nginxphpfpm启动

发布时间:2024-04-18 07:46:05

linux怎么快速安装nginx和php,不用安装数据库

Linux下如果要搭建nginx和php环境,需要安装三个软件包:

nginx,php,php-fpm

比如说如果是centos的话:

yuminstallnginxphpphp-fpm

可能软件包名有差别,这个查查就知道了。

然后配置nginx,修改nginx.conf,如果用sock就这样写,如果是端口就些端口:

location~.php${
fastcgi_passunix:/var/run/php-fpm/php-fpm.sock;
fastcgi_indexindex.php;
includefastcgi.conf;
}

然后启动服务,以centos7为例:

systemctlstartnginx
systemctlstartphp-fpm

Ⅱ 瑙e喅nginx+php-fpm镞犳硶涓娄紶鏂囦欢闂棰

瑙e喅锷炴硶
location ~ .php$ {
root /var/www/html/public;
client_max_body_size 50M;
client_body_temp_path /tmp;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
闄勶细涓嶈佹垒浜嗭纴缃戜笂璇寸殑寰埚氭垜閮借瘯杩!涓鐩存彁绀篎irebug 杈惧埌浜 Post 璇锋眰澶у皬闄愬埗
淇鏀笔HP.ini涓璸ost_max_size upload_max_filesize max_execution_time max_input_time
镓揿紑php.ini鏂囦欢锛屼慨鏀瑰畬姣曞悗閲嶅惎链嶅姟鍣ㄣ傛祴璇曚笅涓娄紶鏂囦欢銆伞伞伞(鍢诲樆锛屾槸涓嶆槸浼犱笂浜嗗緢澶х殑鏂囦欢?)
1銆佹枃浠朵笂浼犳椂瀛樻斁鏂囦欢镄勪复镞剁洰褰曘傚繀椤绘槸 PHP 杩涚▼镓链夎呯敤鎴峰彲鍐欑殑鐩褰曘傚傛灉链鎸囧畾鍒 PHP 浣跨敤绯荤粺榛樿ゅ紁hp.ini鏂囦欢涓璾pload_tmp_dir鐢ㄦ潵璇存槑PHP涓娄紶镄勬枃浠舵斁缃镄勪复镞剁洰褰曘
瑕佹兂涓娄紶鏂囦欢锛屽缑淇濊瘉链嶅姟鍣ㄦ病链夊叧闂涓存椂鏂囦欢鍜屾湁瀵规枃浠跺す镄勫啓𨱒冮檺
2銆乵ax_execution_time
鍙橀噺max_execution_time璁剧疆浜嗗湪寮哄埗缁堟㈣剼链鍓峆HP绛夊緟鑴氭湰镓ц屽畬姣旷殑镞堕棿锛屾ゆ椂闂翠互绉掕$畻銆傚綋鑴氭湰杩涘叆浜嗕竴涓镞犻檺寰鐜鐘舵 镞舵ゅ彉閲忛潪甯告湁鐢ㄣ傜劧钥岋纴褰揿瓨鍦ㄤ竴涓闇瑕佸緢闀挎椂闂村畬鎴愮殑钖堟硶娲诲姩镞(渚嫔备笂浼犲ぇ鍨嬫枃浠)锛岃繖椤瑰姛鑳戒篃浼氩艰嚧镎崭綔澶辫触銆傚湪杩欐牱镄勬儏鍐典笅蹇呴’钥冭槛灏嗘ゅ彉閲忓煎 锷狅纴浠ラ伩鍏峆HP鍦ㄨ剼链姝e湪镓ц屾煇浜涢吨瑕佽繃绋嬬殑镞跺椤皢鑴氭湰鍏抽棴銆
淇鏀逛负锛歮ax_execution_time =800
3銆乫ile_uploads = On(铡熸潵闂寮灏变笉鐢ㄨ剧疆浜)
4銆乽pload_max_filesize =2M淇鏀逛负800M
5銆佸悓琛ㄥ崟鎻愪氦鐩稿叧镄勪竴涓鍙橀噺鏄痯ost_max_size锛屽畠灏嗘带鍒跺湪閲囩敤POST鏂规硶杩涜屼竴娆¤〃鍗曟彁浜や腑PHP镓鑳藉熸帴鏀剁殑链澶ф暟鎹閲忋备技涔庝笉澶 鍙鑳介渶瑕佸皢榛樿ょ殑8 MB鏀瑰缑镟村ぇ銆傜浉鍙嶏纴搴斿綋阃傚綋灏嗗叾闄嶅埌镟翠负瀹为檯镄勬暟鍊笺备絾濡傛灉甯屾湜浣跨敤PHP鏂囦欢涓娄紶锷熻兘锛屽垯闇瑕佸皢姝ゅ兼敼涓烘瘆upload_max_filesize杩 瑕佸ぇ銆
涔熶慨鏀逛负锛歱ost_max_size =900M
6銆乵ax_input_time
姝ゅ彉閲忓彲浠ヤ互绉掍负鍗曚綅瀵归氲繃POST銆丢ET浠ュ强PUT鏂瑰纺鎺ユ敹鏁版嵁镞堕棿杩涜岄檺鍒躲傚傛灉搴旂敤绋嫔簭镓杩愯岀幆澧冨勫湪浣庨熼摼璺涓婏纴鍒欓渶瑕佸炲姞姝ゅ间互阃傚簲鎺ユ敹鏁版嵁镓闇镄勬洿澶氭椂闂.
淇鏀逛负锛歮ax_input_time =900
7銆乵emory_limit =10M
涓轰简阆垮厤姝e湪杩愯岀殑鑴氭湰澶ч噺浣跨敤绯荤粺鍙鐢ㄥ唴瀛桡纴PHP鍏佽稿畾涔夊唴瀛树娇鐢ㄩ檺棰濄傞氲繃memory_limit鍙橀噺𨱒ユ寚瀹氩崟涓鑴氭湰绋嫔簭鍙浠ヤ娇鐢ㄧ殑链澶у唴瀛桦归噺
鍙橀噺memory_limit镄勫(涓嶈佽秴鍑烘湇锷″櫒鍐呭告渶澶у)
淇鏀逛负锛歮emory_limit =128M

Ⅲ PHP nginx閰岖疆榛戝悕鍗

寰堟槑鏄撅纴浣犵殑nginx閰岖疆鏂囦欢绗38琛屽啓阌欎简銆
鍙鑳芥槸鍐欓敊鏂囦欢钖嶆垨钥呮槸鍐欓敊璺寰勪简銆

濡傛灉闇瑕佽繘涓姝ュ府锷╃殑璇濊锋埅锲句笂𨱒ャ

云服务器如何配置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;
}

Ⅳ nginx和php-fpm之间是怎样通信的

FastCGI原理
FastCGI是一个运用于Http Server和动态脚本语言间通信的接口,多数流行的Http Server都支持FastCGI,包括Apache、Nginx和lighttpd等。同时,FastCGI也被许多脚本语言支持,其中就有PHP。
FastCGI接口方式采用C/S结构,可以将HttP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程。当HttP服务器每次遇到动态程序时,可以将其直接交付给FastCGI进程来执行,然后将得到的结果返回给客户端。这种方式可以让HttP服务器专一地处理静态请求或者将动态脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能。

Nginx+php-fpm实现原理

Nginx本身不会对PHP进行解析,终端对PHP页面的请求将会被Nginx交给FastCGI进程监听的IP地址及端口,由php-fpm作为动态解析服务器处理,最后将处理结果再返回给nginx。其实,Nginx就是一个反向代理服务器。Nginx通过反向代理功能将动态请求转向后端php-fpm,从而实现对PHP的解析支持,这就是Nginx实现PHP动态解析的原理。

Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。FastCGI接口在Linux下是socket(这个socket可以是文件socket,也可以是ip socket)。为了调用CGI程序,还需要一个FastCGI的wrapper(wrapper可以理解为用于启动另一个程序的程序),这个wrapper绑定在某个固定socket上,如端口或者文件socket。当Nginx将CGI请求发送给这个socket的时候,通过FastCGI接口,wrapper接收到请求,然后派生出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;接着,wrapper再将返回的数据通过FastCGI接口,沿着固定的socket传递给Nginx;最后,Nginx将返回的数据发送给客户端。

Nginx 简单配置
location ~ \.php$ {
root /home/admin/web/nginx/html/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/admin/web/nginx/html/$fastcgi_script_name;
include fastcgi_params;
}

阅读全文

与nginxphpfpm启动相关的资料

热点内容
空调小压缩机贴大标签 浏览:692
冰冻压缩牛肉 浏览:496
菜鸟的服务器是什么 浏览:813
战地1日本服务器地址 浏览:724
有没有什么app看佛法的 浏览:787
建筑结构与选型pdf 浏览:405
小森生活安卓怎么一键种地 浏览:371
黑窗口mysql导入数据库命令 浏览:646
铠甲勇士java 浏览:781
三星冰箱的压缩机怎样 浏览:914
数控车床电脑编程软件下载 浏览:327
android定位类 浏览:308
163邮箱java 浏览:960
通达信分合买卖指标源码 浏览:279
小米手机安卓系统耗电快怎么修复 浏览:57
vue单文件组件编译源码 浏览:669
jpeg压缩编码代码 浏览:440
php编写九九乘法表 浏览:535
苹果的高光安卓怎么调 浏览:775
kalilinuxweb渗透测试 浏览:461