CI框架:官方文档 http://codeigniter.org.cn/user_guide/index.html

CI框架的数据流程图如下:

其中:index.php作为入口文件,在安装好CI框架后,index.php文件一般放置在Nginx服务器(其他服务器相同)所配置的web根目录下,Nginx配置文件在 xxx/nginx/conf/nginx.conf文件中,其中xxx为安装路径,如配置.php的解析文件可用如下模板:

 server {
listen 80; // 监听的端口
root /dir_1/dir_2/dir_3;
server_name www.example.com;
index index.html index.htm index.php; location /
{
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}

其中index.php文件要放置在根目录 /dir_1/dir_2/dir_3 下。URL为www.example.com:port/index.php/class/function/arg或者www.example.com/class/function/arg,其中www.example.com可换成ip地址加端口号,Nginx默认监听端口号为80,所以当端口为80时可不加,其他端口要在URL中明确指明

————————————————————————————————————————————————————————

而当有多个CI框架项目都需要布置在Nginx服务器是时,有两种方法:

1. 在Nginx配置文件中再配置一个虚拟机,并重新设置根目录,监听尚未使用的端口号(不推荐)

2. 不需要更改根目录,需要使用rewrite 指令和修改CI框架中的路由规则,即$route数组,具体如下:

例如当index文件所在位置为 /dir_1/dir_2/dir_3/test1/test2/test3/index.php

首先:将Nginx配置文件改为:

server {
listen 80; // 监听的端口
root /dir_1/dir_2/dir_3;
server_name www.example.com;
index index.html index.htm index.php; location /
{
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
location /test1/test2/test3/
{
rewrite ^/test1/test2/test3/(.*)$ /test1/test2/test3/index.php/$1 break;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi.conf; // fastcgi.conf为php解析库相关文
     }
}

其中fastcgi.conf为自己定义的,如若无,可换成:

 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;

PS: 每次配置好Nginx后,记得要重启Nginx,使配置生效!

然后,修改CI框架中路由规则,在CI的Application/conf目录下,找到routes.php文件,在末尾添加:

$route['test1/test2/test3/(.+)'] = "$1";

之后 URL可为www.example.com:port/test1/test2/test3/class/function/arg,查看php的www.access.log可发现,nginx已经将链接重写为www.example.com:port/test1/test2/test3/index.php/class/function/arg,同样的由于Nginx默认监听端口号为80,所以当端口为80时可不加,其他端口要在URL中明确指明。

Nginx配置CI框架问题(Linux平台下Centos系统)的更多相关文章

  1. freecplus框架,Linux平台下C/C++程序员提高开发效率的利器

    目录 一.freecplus框架简介 二.freecplus开源许可协议 三.freecplus框架内容 字符串操作 2.xml解析 3.日期时间 4.目录操作 5.文件操作 6.日志文件 7.参数文 ...

  2. Linux平台下Lotus Domino服务器部署案例

    Linux平台下Lotus Domino服务器部署案例 几年前我写了篇<RHAS2.1下安装中文LotusDominoR6.5图解>这篇文档被多个大型网站转载,曾帮助过很多公司系统管理员部 ...

  3. Linux平台下:块设备、裸设备、ASMlib、Udev相关关系

    对磁盘设备(裸分区)的访问方式分为两种:1.字符方式访问(裸设备):2.块方式访问 Solaris平台 : 在Solaris平台下,系统同时提供对磁盘设备的字符.块方式访问.每个磁盘有两个设备文件名: ...

  4. 在linux平台下,设置core dump文件属性(位置,大小,文件名等)

    在linux平台下,设置core dump文件生成的方法: 1) 在终端中输入ulimit -c 如果结果为0,说明当程序崩溃时,系统并不能生成core dump. 2) 使用ulimit -c un ...

  5. Linux平台下Ntop流量监测安装,并实现Netflow全过程

    Linux平台下Ntop流量监测安装,并实现Netflow全过程 更多原创教学视频详见: http://you.video.sina.com.cn/m/1443650204 本文出自 "李晨 ...

  6. linux平台下Hadoop下载、安装、配置

    在这里我使用的linux版本是CentOS 6.4      CentOS-6.4-i386-bin-DVD1.iso      下载地址: http://mirrors.aliyun.com/cen ...

  7. ngnix 配置CI框架 与 CI的简单使用

    ngnix 支持 CI框架1.修改config.php 参考网址:https://www.chenyudong.com/archives/codeigniter-in-nginx-and-url-re ...

  8. apache php 配置 CI 框架

    声明:配置域名需要用到  httpd.conf  httpd_vhosts.conf  (apache) 中两个文件 和   hosts (C:\Windows\System32\drivers\et ...

  9. 利用zabbix监控ogg进程(Linux平台下)

    前段时间生产的一个数据库的ogg进程挂了快半个月才被发现,已经起不来了,只有重新初始化再同步.因此很有必要监控下ogg的进程,这里给大家介绍如何使用zabbix监控oracle的ogg的进程.思路就是 ...

随机推荐

  1. PHP下载微信头像

    public function downloadPic($openid='',$headimgurl='') { $header = array( 'User-Agent: Mozilla/5.0 ( ...

  2. Invoker-n颜色涂m个珠子的项链

    参考https://blog.csdn.net/anxdada/article/details/76862564. https://blog.csdn.net/baidu_35643793/artic ...

  3. java使用poi导出excel

    继上一篇导出pdf,这篇导出excel. 1.导入依赖 <dependency> <groupId>org.apache.poi</groupId> <art ...

  4. 合肥工业大学oj p1012

    #include <iostream> #include <cstring> #define maxn 5 + 2 using namespace std; int m, n, ...

  5. unzip解压war包并覆盖

    unzip -o blog.war -d BLOG 参数: -o 不进行询问直接覆盖 -d 压缩文件解压到BLOG文件夹下 详细使用语法: unzip [-Z] [-opts[modifiers]] ...

  6. QT下 enum转QString

    先在QT5.7 class EnumTest :public QObject { Q_OBJECT public: EnumTest(); enum PINYINENUM { XYDA, XYDB, ...

  7. 前端自动化构建工具--Gulp&&Webpack

    前端构建工具的作用可以认为是对源项目文件或资源进行文件级处理,将文件或资源处理成需要的最佳输出结构和形式. 在处理过程中,我们可以对文件进行模块化引入.依赖分析.资源合并.压缩优化.文件嵌入.路径替换 ...

  8. shell脚本-2

    http://www.runoob.com/linux/linux-shell-variable.html 字符串可以用单引号,也可以用双引号,也可以不用引号.单双引号的区别跟PHP类似. 单引号字符 ...

  9. PHP之魔术方法

      PHP中的魔术方法: PHP的魔术方法主要是在特定的条件下执行相应的魔术方法.这和很多框架中的钩子函数有些类似,不同的是,钩子函数是在生命周期的某个周期内自动执行,而魔术方法是在触发某种条件下自动 ...

  10. angular js 初学

    1 angularJS的一些概念 AngularJS 通过新的属性和表达式扩展了 HTML. AngularJS 是一个 JavaScript 框架,它是一个以Javascript编写的库,它可通过 ...