遇到问题在linux-mint下安装完nginx后,当然要支持php才能真正工作。可是尝试了很久都没有成功(以前很容易就成功了),原来是php-fpm支持方式发生了变化,我以前用的方法早已经过时了。详细过程nginx无论是用apt方式还是用编译方式都不麻烦,所以直接记录php-fpm的配置。按照以前的思想,p"/> 遇到问题在linux-mint下安装完nginx后,当然要支持php才能真正工作。可是尝试了很久都没有成功(以前很容易就成功了),原来是php-fpm支持方式发生了变化,我以前用的方法早已经过时了。详细过程nginx无论是用apt方式还是用编译方式都不麻烦,所以直接记录php-fpm的配置。按照以前的思想,p">

Heim  >  Artikel  >  Backend-Entwicklung  >  nginx支持php和thinkphp

nginx支持php和thinkphp

WBOY
WBOYOriginal
2016-07-29 08:51:021146Durchsuche

data-id="1190000005042321" data-license="cc">

遇到问题

在linux-mint下安装完nginx后,当然要支持php才能真正工作。可是尝试了很久都没有成功(以前很容易就成功了),原来是php-fpm支持方式发生了变化,我以前用的方法早已经过时了。

详细过程

nginx无论是用apt方式还是用编译方式都不麻烦,所以直接记录php-fpm的配置。
按照以前的思想,php-fpm工作在127.0.0.1:9000端口上,我直接配置后却出现了502 Bad GateWay页面。
查看nginx日志文件,发现错误是无法连接到本机9000端口。于是查找php-fpm.conf,在其兄弟文件夹pool.d下发现www.conf,关键一句打开是这样的listen = /var/run/php5-fpm.sock,通过查阅资料得知php-fpm有两种工作方式,一种是利用tcp,另一种直接使用socket,scoket的方式会更快。因此,nginx下的配置fastcgi_pass 127.0.0.1:9000;的方式显然不支持socket方式。所以,只需要将其更改为fastcgi_pass unix:/var/run/php5-fpm.sock;以后,nginx就可以正常工作了。

支持thinkphp

对thinkphp的支持其实主要是对.htaccess文件的支持,主要是为了去掉indexphp。实现有两种方式,其中一种是直接引入include $path/.htaccess,另一种是修改 location / {},但是apache和nginx的.htaccess文件语法不同,在nginx下正确的配置是

<code>    location / {
        if (!-e $request_filename) {
               rewrite  ^(.*)$  /index.php?s=$1  last;
               break;
        }
</code>

其他

  • 多站点支持可以连续写也可以各自写在相应的server.conf中。

  • 多域名和子域名配置时支持连写server_name www.adc.com lol.adc.com也支持通配符*.adc.com

以上就介绍了nginx支持php和thinkphp,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP自学no00011数据类型转换Nächster Artikel:php页面缓存