×

lnmp执行php

lnmp执行php(linux执行php)

admin admin 发表于2023-03-27 18:22:09 浏览67 评论0

抢沙发发表评论

本文目录一览:

lnmp502怎么解决?

502 Bad Gateway是一种报错提示,这一错误并不意味着上游服务器已关闭(无响应网关/代理),而是上游服务器和网关/代理不同意的协议交换数据。

第一种原因:目前lnmp一键安装包比较多的问题就是502 Bad Gateway,大部分情况下原因是在安装php前,脚本中某些lib包可能没有安装上,造成php没有编译安装成功。解决办法:可以尝试根据lnmp一键安装包中的脚本手动安装一下,看看是什么错误导致的。

第二种原因:在php.ini里,eaccelerator配置项一定要放在Zend Optimizer配置之前,否则也可能引起502 Bad Gateway

第三种原因:在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。-lnmp执行php

第四种原因:php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300。

第五种原因:磁盘空间不足,如mysql日志占用大量空间。

第六种原因:查看php-cgi进程是否在运行。

另外的解决办法:

Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止,一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关。-lnmp执行php

php-fpm.conf有两个至关重要的参数,一个是max_children,另一个是request_terminate_timeout,但是这个值不是通用的,而是需要自己计算的。

在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。-lnmp执行php

计算的方式如下:如果服务器性能足够好,且宽带资源足够充足,PHP脚本没有系循环或BUG的话可以直接将 request_terminate_timeout设置成0s。0s的含义是让PHP-CGI一直执行下去而没有时间限制。如果做不到这一点,也就 是说PHP-CGI可能出现某个BUG,或者宽带不够充足或者其他的原因导致PHP-CGI假死那么就建议给 request_terminate_timeout赋一个值,这个值可以根据服务器的性能进行设定。一般来说性能越好可以设置越高,20分钟-30分 钟都可以。-lnmp执行php

而max_children这个值又是怎么计算出来的呢?这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少。 设置max_children也需要根据服务器的性能进行设定,一般来说一台服务器正常情况下每一个php-cgi所耗费的内存在20M左右。-lnmp执行php

按照官方的答案,排查了相关的可能,并结合了网友的答案,得出了下面的解决办法:

1、查看php fastcgi的进程数(max_children值)代码:netstat -anpo | grep “php-cgi” | wc -l

5(假如显示5)

2、查看当前进程,代码:top观察fastcgi进程数,假如使用的进程数等于或高于5个,说明需要增加(根据机器实际状况而定)

3、调整/usr/local/php/etc/php-fpm.conf 的相关设置

value name=”max_children”10/value

value name=”request_terminate_timeout”60s/value

max_children最多10个进程,按照每个进程20MB内存,最多200MB。

request_terminate_timeout执行的时间为60秒,也就是1分钟。

如何在lnmp上部署Thinkphp

ThinkPHP的四种URL模式:0(普通模式);1(PATHINFO模式);2(REWRITE模式);3(兼容模式)nginx需要PATHINFO模式,但需要更改nginx配置文件让其支持PATHINFO模式。系统环境:系统:CentOS-6.4-x86_64web服务器:nginx1.2.7PHP版本:PHP5.3.17数据库版本:MySQL5.5.28一、安装LNMP1.0一键安装包按照以上版本安装环境二、修改配置文件1.修改php配置文件php.ini,将其中cgi.fix_pathinfo=0,值改为1重启php-fpm2.ssh里执行:cat/usr/local/nginx/conf/pathinfo.conf'EOF'set$real_script_name$fastcgi_script_name;if($fastcgi_script_name~"(.+?\.php)(/.*)"){set$real_script_name$1;set$path_info$2;}fastcgi_paramSCRIPT_FILENAME$document_root$real_script_name;fastcgi_paramSCRIPT_NAME$real_script_name;fastcgi_paramPATH_INFO$path_info;EOF再将虚拟主机配置文件里的location~.*\.(php|php5)?$替换为:location~.*\.php再在includefcgi.conf;下面添加一行includepathinfo.conf;重启nginx完整的虚拟主机配置文件如下:server { listen 80; server_name; indexindex.htmlindex.htmindex.php; root /home/wwwroot/lnmp; location~.*\.php { try_files$uri=404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_indexindex.php; includefcgi.conf; includepathinfo.conf; } location/status{ stub_statuson; access_log off; } location~.*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location~.*\.(js|css)?$ { expires 12h; } access_log /home/wwwlogs/lnmp.log lnmp;}将ThinkPHP的URL模式设置成PATHINFO。ThinkPHP就可以在nginx中运行了。-lnmp执行php

lnmp怎么重装php?

1、安装库:

CentOS :yum install libc-client-devel

Debian:apt-get install libc-client-dev

2、进入php安装目录的ext目录

比如php的安装目录为:/root/lnmp0.4-full/php-5.2.10/

则执行:cd /root/lnmp0.4-full/php-5.2.10/ext/

我们要安装imap模块,执行cd imap/

再执行 /usr/local/php/bin/phpize 返回信息:

Configuring for:

PHP Api Version: 20041225

Zend Module Api No: 20060613

Zend Extension Api No: 220060519

执行以下命令:

[root@vpser imap]# ./configure --with-php-config=/usr/local/php/bin/php-config

[root@vpser imap]# make make install

返回:

Build complete.

Don't forget to run 'make test'.

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/

已经成功,再修改/usr/local/php/etc/php.ini

查找:extension = 再最后一个extension= 后面添加上extension = "imap.so"

保存,执行/root/lnmp restart 重启。

lnmp环境,cron如何执行php文件?

呃,为什么直接改crontab文件不好用crontab -e,然后输入上面的就好用。。。