用thinkphp做了一个网站,部署到ubuntu上的时候需要,服务器用的是nginx,本身不支持pathinfo模式,需要修改配置文件,使其能够用pathinfo. 我用的是虚拟主机的方式.之前配置了好久,总是出现各种各样的问题,最后实在不行,直接用rewrite模式,配置还比较简单.后来不知道改了什么,rewrite也不能用了,这回打算把 pathinfo 配出来, 所以查了各种资料,一点一点的改.终于改成了. 发现很多网上的东西,其实和自己用的经常会有一点差别,需要根据自己的东西进行修改才…
网上通用解决方法的配置如下: server { ... location / { index index.htm index.html index.php; #访问路径的文件不存在则重写URL转交给ThinkPHP处理 if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$ last; break; } } location ~ \.php/?.*$ { root /var/www/html/website; fastcgi_pass…
1.打开php.ini 通常该文件在 /usr/local/php/etc/php.ini vi /usr/local/php/etc/php.ini 找到 cgi.fix_pathinfo,默认为0,修改为1,保存退出: 2.打开nginx.conf配置文件 通常该文件在 /usr/local/nginx/conf/nginx.conf vi /usr/local/nginx/conf/nginx.conf (1)找到 include enable-php.conf;注释掉,在下面一行添加in…
ThinkPHP支持通过PATHINFO和URL rewrite的方式来提供友好的URL,只需要在配置文件中设置 'URL_MODEL' => 2 即可.在Apache下只需要开启mod_rewrite模块就可以正常访问了,但是Nginx中默认是不支持PATHINFO的,所以我们需要修改 nginx.conf文件. 网上搜了很多方法都不奏效,研究了一天,发现通过以下的配置可以完美支持 'URL_MODEL' => 2 的情况了01 location /project/ {  index ind…
location ~ \.php {    #去掉$ root          H:/PHPServer/WWW; fastcgi_pass   127.0.0.1:9000; fastcgi_index  index.php; fastcgi_split_path_info ^(.+\.php)(.*)$;     #增加这一句 fastcgi_param PATH_INFO $fastcgi_path_info;    #增加这一句 fastcgi_param  SCRIPT_FILENA…
要想让nginx支持PATH_INFO,首先需要知道什么是pathinfo,为什么要用pathinfo? pathinfo不是nginx的功能,pathinfo是php的功能. php中有两个pathinfo,一个是环境变量$_SERVER['PATH_INFO']:另一个是pathinfo函数,pathinfo() 函数以数组的形式返回文件路径的信息;. nginx能做的只是对$_SERVER['PATH_INFO]值的设置. 下面我们举例说明比较直观.先说php中两种pathinfo的作用,…
From : http://www.jzxue.com/wangzhankaifa/php/201108/08-8396.html   ThinkPHP支持通过PATHINFO和URL rewrite的方式来提供友好的URL,只需要在配置文件中设置 'URL_MODEL' => 2 即可.在Apache下只需要开启mod_rewrite模块就可以正常访问了,但是Nginx中默认是不支持PATHINFO的,所以我们需要修改nginx.conf文件. 网上搜了很多方法都不奏效,研究了一天,发现通过以…
网上通用解决方法的配置如下: server { ... location / { index index.htm index.html index.php; #访问路径的文件不存在则重写URL转交给ThinkPHP处理 if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$ last; break; } } location ~ \.php/?.*$ { root /var/www/html/website; fastcgi_pass…
thinkphp config配置: ', //URL模式 nginx rewrite配置: location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$ last; break; } } 另一种方法: server { ... location / { index index.htm index.html index.php; #如果文件不存在则尝试TP解析 try_files $uri /index.php$u…
From : http://www.htmltec.com/archives/302 网上通用解决方法的配置如下: server { location / { index index.htm index.html index.php; #访问路径的文件不存在则重写URL转交给ThinkPHP处理 if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$ last; break; } } location ~ \.php/?.*$ { ro…
首先说下项目目录情况  跟目录/usr/share/nginx/html/(别说怎么这么深  0.0) html文件夹下面两个目录 pssh  pssh_shop 两个tp5项目分别对应两个二级域名 配置多项目就把server{} 在复制出来一套 修改对应的root路径就可以 下面放上配置文件(只有域名2那个项目隐藏入口文件了 ) # For more information on configuration, see: # * Official English Documentation: h…
前面有关于lnmp环境的搭建,在此就不在赘述.下面就简述thinkPHP如何在nginx下开启url_rewrite和pathinfo模式支持 主要有两个步骤: 一.更改php.ini将;cgi.fix_pathinfo=0  改为cgi.fix_pathinfo=1 二.更改nginx配置文件中php的location设置pathinfo模式: location ~ \.php { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index in…
nginx 通过 location 的规则匹配将 php 转发给 php-fpm 处理后获取结果然后返回给客户端,转发模式可以通过 unix sock 或 tcp socket 方式.百度了好多文章我是没遇到一个能完整的而且正确的把 nginx 和 php 结合的配置讲述的较为正确的,这里总结了下最基本的 nginx + php 的模式配置,以及隐藏 index.php 和 开启 pathinfo 模式的方法. 个人觉得是可以复制粘贴配置你的生产环境的,总结了很多好的博文的要点,比如隐藏 ind…
现在有点小兴奋,因为在在BAE上部署ThinkPHP框架的问题快折腾一天了,午觉都没睡,不过没白整总算有点结果.不扯淡了,直入正题吧. 之前熟悉ThinkPHP框架,想在BAE上用ThinkPHP做点东西,部署了一天的环境了总结一下把: 一:首先你得有百度帐号吧,别着急先登上.然后进入快速创建应用如下图所示 二.创建应用的具体过程就不多说了吧不是今天的重点,然后ThinkPHP官网上去下一个云引擎版本链接如下:http://www.thinkphp.cn/down.html,我是用的ThinkP…
在Nginx上部署ThinkPHP,解决Pathinfo问题 事实上.要解决nginx不支持pathinfo的问题.有两个解决思路,一是不使用pathinfo模式,二是改动nginx的配置文件,使它支持pathinfo. 为了使问题简单化,我选择了第一种方式.由于就另外一种方式,我查了非常多资料,发现大家的方法不尽同样.有的还区别非常大,easy造成误导,所以我选择从简出发,选择普通模式.尽管有一定的风险.当把index.php相应的前台代码改动完成之后.发现前台基本正常.但是后台仍然出现重定向…
〇. 前言 pathinfo有两个,1 pathinfo()函数,2 $_SERVER['PATH_INFO'].pathinfo()是php的库函数,原生支持不需要nginx配置,$_SERVER['PATH_INFO']才需要nginx的特殊配置.为什么要配置pathinfo,因为ThinkPHP/CodeIgniter/Yii等MVC框架都需要$_SERVER['PATH_INFO']. 一. 配置pathinfo支持之前,先让nginx支持PHP 这里有个缺陷,就是得到的SCRIPT_N…
Nginx 部署.反向代理配置.负载均衡 最近我们的angular项目部署,我们采用的的是Nginx,下面对Nginx做一个简单的介绍. 为什么选择Nginx 轻:相比于Apache,同样的web服务器占用的资源少 多线程模式:Nginx拥有多个worker进程,处理请求时是异步非阻塞的 社区活跃 可以做反向代理 支持7层负载均衡.什么是七层负载均衡 配置简单,易上手.这才是我们选择的主要原因. 上一个官方下载下来的文档 链接:https://pan.baidu.com/s/1bkbGk8bcZ…
最近一个项目中使用了ThinkPHP做为开发框架,URL上我们使用了PATHINFO模式,但是Nginx默认是不支持PATHINFO的,需要进行手动配置才可以,于是我们按照了以下方法进行了Nginx的PATHINFO支持配置: 修改nginx.conf,找到server中的 location ~ .php${},修改为location ~ .php {},并在其中增加以下内容: set $path_info ""; set $real_script_name $fastcgi_scri…
负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法. 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况.那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可. 由于没有服务器,所以本次测试直接host指定域名,然后在VMware里安装了三台CentOS. 测试域名  :a.com A服务器IP :192.168.5.149 (主) B服务器IP :…
将一个thinkphp项目从apache环境移到nginx1.2上,怎奈,nginx这个版本默认不支持pathinfo模式 首先,编辑nginx的虚拟主机配置文件 location ~ .*.(php|php5)?$ { #原有代码 } if (!-e $request_filename) {   rewrite  ^(.*)$  /index.php?s=$1  last;   break;    } #去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinfo #如果你不需要用到p…
因为nginx本身没有支持pathinfo,所以无法使用thinkphp框架,不过我们可以在配置里进行修改使其能够正常使用thinkphp. 1.修改配置支持pathinfo vi /etc/nginx/cong.d/default.conf 在nginx的配置中添加 location ~ \.php/?.*$ {      root html;         #这里的路径需要注意一下,自己之前几次配置错误都是因为从网上直接粘贴的路径不对        fastcgi_pass   127.0…
  对于ThinkPHP的URL访问路劲如:http://域名/index.php/Index/BlogTest/read,原先的Nginx的是不支持的pathinfo路劲的,导致你在thinkPHP5上面测试的时候,输入相应的URL也不会提示模块名,控制器名或者方法名错误,而是出现一个404找不到的错误,那是因为Nginx无法解析这样的链接,下面讲讲如何配置: 首先找到   nginx.conf 1.只实现pathInfo 笔者的位置在   /usr/local/nginx/conf 下 vi…
thinkphp运行在linux+nginx,如何开启pathinfo模式,我是完整测试过了,没问题的,在thinkphp配置文件 开启    'URL_MODEL'   =>  1,   1代表pathinfo模式 1,第一步 开启pathinfo php.ini 开启  cgi.fix_pathinfo=1 2,第二步 配置nginx server { listen 80; server_name www.96net.com.cn; root /var/www/www.96net.com.c…
来源:http://www.thinkphp.cn/topic/26657.html 第一步:配置SERVER块 server { listen 80; server_name www.domain.com domain.com; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; # \.php 只处理动态请求,对于静态资源请求由下面的 location匹配和处理 location ~ \.php { root /da…
最近在群里发现有很多小白不会配置pathinfo现贴出来配置代码照着配置就可以了     1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 server     {         listen       80;         server_name xxx.com         root      /alidata1/wwwroot/xxx;         index  index.html index.htm in…
这里用的是nginx for windows 首先进入nginx配置文件,做以下配置: server { listen 80; server_name abc.com; location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; p…
首先,我们配置静态文件,要在setting.py里面加入如下几行代码: # settings.py # the settings above # STATIC SETTINGS STATIC_URL = '/static/' # BASE_DIR 是项目的绝对地址 STATIC_ROOT = os.path.join(BASE_DIR, 'static') #以下不是必须的 STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), ) 1.ST…
首先THINKPHP配置文件中设置 //url访问模式为rewrite模式 'URL_MODEL'=>'2', 然后再在nginx.conf文件中,找到这一条语句 #access_log logs/host.access.log main;找到location /{}这个语句段落 location / { index index.html index.htm index.php; #如果请求既不是一个文件,也不是一个目录,则执行一下重写规则 if (!-e $request_filename)…
一.项目简介 在本文中,将一步一步搭建一个简单的Flask + Virtualenv + uWSGI + Nginx 架构的Web服务,可以作为新手的学习也可作为记录备忘. 如果你安装好了环境并有一定基础可以直接从第五节开始部署. 项目中只是演示了浏览器访问地址,获得文本返回的过程,本人尽量把配置解释的清晰.基于搭建好的架构,后续可以将业务层(Python)进行扩展,本文不做研究 ,比如: 1.扩展业务代码:实现json.静态资源等等的请求响应. 2.基于业务的数据库查询和部署. 3.服务器端的…
Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 集群的概念: 集群的特性: Nginx的反向代理 # 反向代理 # 通过访问Nginx的web服务,由Nginx 对 '有效的请求' 进行一个请求转发,请求到真正的web服务后台数据.返回给用户. # 正向代理 # vpn . 访问外国的网站,需要把你的请求进行伪装/代理进行转发 ### 如下图~~…