本人最近几年一直使用的是win2008的服务器系统,近期购买了一个腾讯云轻量级的服务器部署的是ubuntu环境(图便宜买的最低配置的那种,只能使用ubuntu了).然后在部署环境的时候就遇到了不少问题,这里就记录一下有关nginx的pathinfo的开启.
先说一下我的部署背景,我使用的是php中文网提供的小皮系统(phpStudy Linux 面板)前面部署的时候也遇到不少坑,比如服务器端口开放少了之类的就不在这里说了,这里就说pathinfo模式(对了,我部署的服务使用的是thinkphp框架所以需要开启这个模块)
修改如下:
首先找到nginx配置文件目录,我是在小皮系统下,软件->nginx->设置下找到的配置文件路径:
/usr/local/phpstudy/vhost/nginx
然后通过vi命令打开的配置文件(这里vi命令也全都忘记了,还是15年那会儿用到过这些命令,后来就一直没有用)
=============以上是废话,主要内容可以只看下面=========================
主要修改如下:找到location ~ [^/]\.php(.*) { 这样类似的规则语句,然后修改为我下面的样式就可以
location ~ [^/]\.php(.*) {
root /www/admin/zhumojimuye/zhumojimuye/;
fastcgi_pass 127.0.0.1:7033;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi.conf;
}
其中root 这行是我的保存路径之类的东西,每个人的可能不一样,还有下面的fastcgi_pass这个参数也是有所不同
然后后面的这几句话应该可以无脑替换的(我是对比着别人的视频写的,后来发现应该是可以无脑替换)
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi.conf;