Home > Backend Development > PHP Tutorial > nginx supports php and thinkphp

nginx supports php and thinkphp

WBOY
Release: 2016-07-29 08:51:02
Original
1170 people have browsed it

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>
Copy after login

其他

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

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

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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template