nginx支持php和thinkphp
遇到问题
在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下正确的配置是
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
其他
多站点支持可以连续写也可以各自写在相应的server.conf中。
多域名和子域名配置时支持连写
server_name www.adc.com lol.adc.com
也支持通配符*.adc.com
以上就介绍了nginx支持php和thinkphp,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
推荐阅读
-
nginx调用php-fpm出错解决方法和nginx配置详解
-
Nginx下配置pathinfo及ThinkPHP的URL Rewrite模式支持
-
Nginx配置支持ThinkPHP的PATH_INFO
-
Nginx下支持Thinkphp URL Rewrite的配置示例
-
Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式
-
Ubuntu安装PHP和PHP Nginx配置方法
-
Nginx 安装笔记(含PHP支持、虚拟主机、反向代理负载均衡)
-
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
-
nginx安装及配置支持php的教程(全)
-
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc