문제가 발생한 후, linux-mint에서 nginx를 설치한 후, 물론 실제로 작동하려면 php를 지원해야 합니다. 하지만 오랫동안 시도했지만 성공하지 못했습니다(이전에는 성공하기 쉬웠습니다). nginx의 세부적인 과정은 apt 모드를 사용하든, 컴파일 모드를 사용하든 번거롭지 않으므로 php-fpm의 구성을 직접 기록해 둡니다. 이전 생각에 따르면, p"/> 문제가 발생한 후, linux-mint에서 nginx를 설치한 후, 물론 실제로 작동하려면 php를 지원해야 합니다. 하지만 오랫동안 시도했지만 성공하지 못했습니다(이전에는 성공하기 쉬웠습니다). nginx의 세부적인 과정은 apt 모드를 사용하든, 컴파일 모드를 사용하든 번거롭지 않으므로 php-fpm의 구성을 직접 기록해 둡니다. 이전 생각에 따르면, p">

 >  기사  >  백엔드 개발  >  nginx는 php와 thinkphp를 지원합니다.

nginx는 php와 thinkphp를 지원합니다.

WBOY
WBOY원래의
2016-07-29 08:51:021145검색

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教程有兴趣的朋友有所帮助。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.