前面有关于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…
比如在一个项目中有前台与后台两个模块,需要使用不同的入口文件.同时希望前台使用默认的index.php的入口. 关键的配置如下: if (!-e $request_filename) {           rewrite /plugins.php(.*)$ /plugins.php?s=/$1 last;           rewrite /admin.php(.*)$ /admin.php?s=/$1 last;               rewrite  ^(.*)$  /index.…
nginx下基于ThinkPHP框架的网站url重写nginx下的基于thinkphp的应用的url重写,需了解thinkphp的各种url格式参数的处理逻辑以及nginx重写的原理.简单点说,无论哪种url格式,nginx都需要执行ThinkPHP下的应用单一入口文件,然后将各种url格式按照一定的格式规则进行进行参数化处理,最终执行指定模块与控制器:这个过程用户是看不到的,用户只能看到各种规则的url,这些url的规则如下: #第一种 普通get多参数方式 htt://www.jb100.n…
1.nginx与PHP的关系 首先来看nginx与php的关系, FastCGI的关系(而不是像apache那样安装成nginx的模块) FastCGI的意思是, 快速的通用网关接口:CGI Common Gateway Interface, 通用网关接口, 典型的web服务器与处理程序通讯的方式. FPM, PHP'提供的用于管理FastCGI进程的功能. 2.安装带有FPM功能的PHP linux 还是之前的PHP源码包, 还是原来的安装步骤. 仅仅在配置PHP安装时, 增加选项,开启FPM…
codeigniter(ci)在nginx下返回404的处理方法即codeigniter在nginx下配置方法 进入nginx的配置文件 加上一句(本来就有这句,只需要修改一下就行了) location / { index index.php; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?$1 last; break; } }…
参考 nginx配置详解  nginx反向代理与负载均衡详解 一.nginx简介: Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. 在高连接并发的情况下,Nginx是Apache服务器不错的替代品. 二.niginx默认conf配置文件: #user nobody; #nginx使用用户 worker_processes 1;#设置值和CPU核心数一致…
NGINX下配置自定义的404页面是可行的,而且很简单,只需如下几步,需要的朋友可以参考下   1. 创建自己的404.html页面 2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on; 3.更改nginx.conf(或单独网站配置文件,例如在nginx -> sites-enabled下的站点配置文件 ) 中在server 区域加入: error_page 404 = /404.html 或者 error_page 404 = http…
最近在看  HTTP权威指南   看到介绍了HTTPS的ssl,自己就动手测试了下,将步骤记录下 HTTPS简介 什么是HTTPS?百科是这样解释的.HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道.即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL.现在它被广泛用于互联网上安全敏感的通讯,例如交易支付等. 使用openssl生成证书 安装openssl…
如下: 1.ADMIN模块如要关联查询,model的函数名一定不要有“_”下划线,否则找不到 /common/model/**.php 如果把函数名file写成“**_file”,调用时,$vo.**_file.name会报打不到类的属性 2.上面的坑找到原因: 是因为edit.html里的循环变量$vo被污染了 3.项目文件名如果是xxx.xxx.com的形式,与laravel不一样,tp5在nginx下配置站点会失败. 必须ROOT路径的 “\” 改为“/”.…
打开Nginx的配置文件 /usr/local/nginx/conf/nginx.conf 一般是在这个路径,根据你的安装路径可能有所变化.如果你配置了vhost,而且只需要你这一个vhost支持pathinfo的话,可以直接打开你的vhost的配置文件.找到类似如下代码(不同版本的nginx可能稍有不同,但是相差不会很远): location ~ .*.(php|php5)?$ { #原有代码 } 复制代码 修改成以下代码: #去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinf…
server { listen ; server_name ha.d51v.cn; #access_log /data/wwwlogs/access_nginx.log combined; root /data/wwwroot/demo/wechat_center/public; index index.html index.htm index.php; #error_page /.html; #error_page /.html; location /nginx_status { stub_s…
首先tp5的访问目录指向到webroot/public文件夹中.thinkphp的url访问:http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数名/参数值...],这个需要支持pathinfo,Apache默认支持,而Nginx不支持.1.php.ini中的配置参数cgi.fix_pathinfo = 12.修改nginx.conf文件. location ~ \.php(.*)$ { fastcgi_pass   127.0.0.1:90…
前段时间用Apache配合TP开发了一个小型网站,也算是我使用TP的第一次实战.我习惯使用pathinfo模式,本地运行一切正常,然而部署到服务器上时,由于对方使用的是Nginx,默认是不支持ThinkPHP的pathinfo模式,所以导致路径错误,出现了页面循环跳转的问题,于是就把nginx下载下来在本地亲自测试. 其实,要解决nginx不支持pathinfo的问题,有两个解决思路,一是不使用pathinfo模式,二是修改nginx的配置文件,使它支持pathinfo.为了使问题简单化,我选择…
第一步:服务器环境,lnmp即Linux+Nginx+PHP+MySQL,本文中以我的博客为例,使用的是阿里云最低档的vps+免费的Linux服务器管理系统WDCP快速搭建的lnmp环境(同类产品还有amh有免费版以及收费版),具体安装以及使用方法都可以在其官方论坛找到详细的操作文档. 第二步:创建你的网站,使用lnmp环境创建你的网站,已有网站的,确保你的程序在lnmp下能够正常的运行,以wordpress为例,lamp跟lnmp下的伪静态规则是不同的,有过更换的,要记得切换. 第三步:申请免…
今天终于把nginx的二级域名配置搞定了,哎之前在测试服务器上弄过一次,不过那个是在本地解析的hosts,把ip指向到域名上就ok,再在nginx.conf里改了下配置就好了,用同样的方法改了正式服务器上的nginx.conf(忘了正式服务器的是域名,这个域名是要DNS解析的)导致耗费了N多时间哇 谨记谨记!如果查了N多的资料,配置文件么有问题,记得DNS解析! 我是一个二级域名写了一个conf,在nginx.conf里引进了所有.conf结尾的文件include 你的配置目录/nginx/co…
Nginx下,一个server标签就是一个虚拟主机. 1.基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站 2.基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台 3.基于ip的虚拟主机,几乎不用. 基于域名配置虚拟主机步骤: 需要建立/data/www /data/bbs目录,windows本地hosts添加虚拟机ip地址对应的域名解析:对应域名网站目录下新增index.html文件: nginx.conf配置文件新增如下代码: server {…
linux 虚拟机下配置虚拟主机 nginx.conf 文件不动, 在 conf.d 或者 conf 目录下 新建项目.conf server { listen 80; server_name localhost; root /var/www/html/device/; #项目的根目录 index index.php index.html index.htm; #默认寻找的文件 # 找不到的文件就转到index.php if (!-e $request_filename) { rewrite ^…
Nginx下存在跨站和跨目录的问题,跨站和跨目录影响同服务器/VPS上的其他网站. PHP在5.3.3以上已经增加了HOST配置,可以起到防跨站.跨目录的问题. 如果你是PHP 5.3.3以上的版本,可以修改php.ini在末尾里加入: [HOST=www.ooxx.com] open_basedir=/home/wwwroot/www.ooxx.com/:/tmp/ [PATH=/home/wwwroot/www.ooxx.com] open_basedir=/home/wwwroot/www…
环境说明: 我试用的lnmp安装包安装的nginx,nginx版本是1.14.1 server { listen ; server_name www.baidu.com; #access_log /data/wwwlogs/access_nginx.log combined; root /data/wwwroot/wechatadmin/backend/web; #root /data/wwwroot/game; index index.html index.htm index.php; #er…
  这是适用于IIS7,IIS7.5,IIS8.0及以上的ThinkPHP的伪静态规则,把以下代码保存成web.config文件,放到FTP的web目录内即可. <?xml version="1.0" encoding="UTF-8"?> <configuration>     <system.webServer>         <rewrite>             <rules>        …
http { upstream phpfastcgi { server 127.0.0.1:9000 } } server { location / { if (!-e $request_filename) {          rewrite  ^(.*)$  /index.php?s=$1  last;     } } location ~ \.php$ {     fastcgi_pass phpfastcgi;     fastcgi_index index.php;     fastc…
在网上查了许多解决方法,下面是自己测试过能行的方法,只需在nginx.conf文件添加内容就可以了. 打开nginx.conf文件 ## Try the requested URI as files before handling it to PHP. location / { #在这里添加下面内容 root那里修改成自己站点的目录 location / { root F:/study/wnmp/html; index index.html index.htm; #访问路径的文件不存在则重写UR…
用的是lnmp 一键安装的 php5.6版本网上百度Ubuntu安装多版本PHP就行 参考文章原链接:http://blog.csdn.net/21aspnet/article/details/47658127 1.首先不用去修改原来的已经安装好的php 2.先下载你要安装的另外一个版本的php压缩包 3.tar zxvf ...解压压缩包 4. 执行当前目录下的configure文件 ./configure --prefix=/opt/modules/php5.4 --with-mysql -…
ci框架默认的url规则中带有应用的入口文件,例如: example.com/index.php/news/article/my_article 在以上URL中带有入口文件index.PHP,这样的URL规则对搜索引擎来说是不友好的,那么如何去除这个index.php呢?apache环境下:通过 .htaccess 文件来设置一些简单的规则删除它.下面是一个例子,使用“negative”方法将非指定内容进行重定向: RewriteEngine on RewriteCond $1 !^(index…
HTTP协议的Cache -Control指定请求和响应遵循的缓存机制.在请求消息或响应消息中设置 Cache-Control并不会影响另一个消息处理过程中的缓存处理过程.请求时的缓存指令包括no-cache.no-store.max-age. max-stale.min-fresh.only-if-cached等.响应消息中的指令包括public.private.no-cache.no- store.no-transform.must-revalidate.proxy-revalidate.m…
一.Http与Https的区别HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少. HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL.HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全:另一种就是确认网站的真实性. HT…
1.Nginx 配置 ssl 模块 默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块方法如下: 下载 Nginx 0.7.64 版本,解压 进入解压目录: 复制代码代码如下: wget http://sysoev.ru/nginx/nginx-0.7.64.tar.gz tar zxvf nginx-0.7.64.tar.gz cd nginx-0.7.64  如果要更改heade…
Http与Https的区别 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少. HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL.HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全:另一种就是确认网站的真实性. HTT…
https://cnodejs.org/topic/5059ce39fd37ea6b2f07e1a3 AngularJS中文社区即运行在阿里云主机上,本站使用Nginx引擎,为了AngularJS,我决定将它的黄金搭档NodeJS也架设起来. 我使用了LuManager来管理服务器,LuManager是十分强大且方便的服务器管理软件,没接触过的朋友建议去官网看看. 一.Nginx站点与NodeJS站点共存的配置 首先是网站入口问题,Nginx使用了80端口,NodeJS使用8080端口.我们利用…
本文出至:新太潮流网络博客 第一步:服务器环境,lnmp即Linux+Nginx+PHP+MySQL,本文中以我的博客为例,使用的是阿里云最低档的ECS+免费的Linux服务器管理系统WDCP快速搭建的lnamp环境,具体安装以及使用方法都可以在其官方论坛找到详细的操作文档. 第二步:创建你的网站,使用lnamp环境创建你的网站,已有网站的,确保你的程序在lnamp下能够正常的运行,以wordpress为例,lamp跟lnamp下的伪静态规则是不同的,有过更换的,要记得切换. 第三步:申请免费的…