nginx下 CodeIgniter 3.1 的最佳配置
这是本人原创,转载请注明出处。
网上搜了好久,也没找到,还是得自己弄。
这其中的重要原因是:竟然,官网没有给nginx的配置??
thinkphp 5 ,laravel 5,yii 2,人家的官网都是给 nginx的配置的。
但是 CodeIgniter 真没有。
经本人实际测试的最佳配置如下,和thinkphp5.1 的最佳配置一样的。
特别说明,按照本文的配置,不需要修改php.ini,极为方便。
server {
listen 80 ;
server_name www.d8.com;
root /var/www/citest;
index index.php index.html;
location / {
try_files $uri /index.php$uri$is_args$args;
}
# 这行设置使得3个目录被禁止url直接访问。很安全。
location ~ ^/(application|system|user_guide) {
deny all;
}
location ~ \.php {
include fastcgi_params;
fastcgi_pass php72-fpm:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
这里再说明一下,这是本人实测的结果。
分两种,一种是url中带index.php,一种是url中没有index.php
另外,根据是否有控制器文件夹,也都试过了。
还有,我没有修改默认的路由设置。
我测试的url包括:
http://www.d8.com/index.php/path1/path2/path3?aa=4
http://www.d8.com/path1/path2/path3?aa=4
http://www.d8.com/index.php/pages/view/about3?aa=4
http://www.d8.com/pages/view/about3?aa=4
全部显示成功,全部都有$_GET的值。
前面两个url我建立了application/ path1 这个文件夹,控制器是Path2.php
后两个url是直接在controller下建立了Pages.php 作为控制器。
全部通过!
唯一和thinkphp 的最佳配置的小小差异是,这里添加了对3个目录的直接访问。
因为 ci 默认下载的 类库,把index.php放在最外层了。这样设置的话,就很安全了。
妈妈再也不用担心我找不到 CodeIgniter 3.1 的合适的 nginx 的配置了!
分享到:
相关推荐
1. **创建配置文件**:在Nginx的配置目录下(如`/etc/nginx/conf.d`),创建一个名为`demo.conf`的文件,用于存放特定项目的配置。 2. **基本配置**:在`demo.conf`中,设置监听端口、服务器名(可选)以及根目录,...
包含模块nginx, nginx doc, Lua, Naxsi, Rtmp, HttpSubsModule,echo-nginx, lower_upper_case, headers-more,auth_ldap, set-misc, lua-upstream, encrypted-session,limit-traffic, AJP, form-input, upstream_...
本教程将详细介绍如何在Linux环境下安装Nginx、.NET Core 3.1以及RabbitMQ服务器,并且包含了gcc、pcre、zlib和openssl的离线安装包。这些组件对于构建高性能、高可用的Web服务和消息队列系统至关重要。 1. **Nginx...
将它们放置在`/etc/nginx/ssl/`目录下(如果该目录不存在,请创建)。 编辑Nginx的主配置文件`/etc/nginx/nginx.conf`或`/etc/nginx/conf.d/default.conf`,添加一个HTTPS服务器块: ```nginx server { listen 443...
Nginx完整配置说明 Nginx是当前最流行的Web服务器软件之一,常用于搭建Web服务器、反向代理服务器、负载均衡器等。下面是Nginx的完整配置说明,涵盖基本配置、反向代理、FastCGI等方面的知识点。 一、基本配置 在...
Windows 下 Nginx 的安装与配置 Nginx 是一款高性能的、轻量级的 HTTP Web 服务器和反向代理服务器及电子邮件 IMAP/POP3/SMTP 代理服务器。其稳定性、丰富的功能集、示例配置文件和低系统资源的消耗使得其广泛应用...
Nginx官网配置.pdf Nginx基本配置.pdf Nginx模块.pdf Nginx指南.pdf 第1章 Nginx简介.pdf 第2章 Nginx服务器的安装与配置.pdf 第3章 Nginx的基本配置与优化.pdf 第4章 Nginx与PHP(FastCGI)的安装、配置与优化.pdf 第...
k8s-修改ingress-nginx-controller中nginx配置文件参数参考
本文将详细介绍如何在Linux上搭建Nginx集群,以及如何进行详细配置,以实现负载均衡功能。 首先,我们需要理解负载均衡的基本概念。负载均衡是一种技术,通过分散网络流量到多个服务器,防止单点故障,提高服务的...
### Window下Nginx配置详解 #### 一、前言 一直以来,许多开发者都认为Nginx只能在Linux环境下运行,实际上,在Windows系统中同样可以部署并高效运行Nginx。随着网站流量的增长,单台服务器可能无法满足需求,此时...
Nginx 禁止目录列出配置实验 在本实验中,我们将学习如何在 Nginx 服务器上禁止目录列出配置,以防止目录遍历攻击。目录遍历攻击是一种常见的 Web 应用安全漏洞,攻击者可以通过该漏洞获取服务器上的敏感信息。 ...
以下是对"windows下 php+nginx配置详解"的详细说明。 首先,我们需要安装Nginx。Nginx是一款高性能的HTTP和反向代理服务器,以其稳定性和高并发处理能力著称。下载适用于Windows的Nginx安装包,然后按照安装向导...
在本文中,我们将深入探讨如何配置Nginx以支持文件上传功能,特别是使用upload_module和upload_progress_module这两个第三方模块。Nginx是一个高效且灵活的HTTP服务器和反向代理,由Igor Sysoev开发,它支持模块化的...
### Nginx 转发 SFTP 和 FTP 的配置详解 #### 一、引言 在互联网技术领域中,Nginx(发音为 “engine X”)是一款高性能的HTTP和反向代理服务器,同时它也支持邮件代理服务。随着版本的不断更新与优化,Nginx 在...
本教程将介绍一种方法,使得在Windows环境下,Nginx配置文件修改后能够自动加载并重启,以实现配置的即时生效。 首先,`nginx.conf`是Nginx的主要配置文件,它包含了服务器的各项设置,如监听端口、服务器块、反向...
本篇文章将详细介绍Nginx的各项配置,并结合提供的"nginx.conf"配置文件和"nginx.txt"说明文件,深入解析Nginx的配置语法和应用场景。** ### 1. Nginx基本结构 Nginx的配置文件主要由多个块组成,包括全局块、...
**Nginx与Nginx.conf配置详解** Nginx是一款高性能、轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,以其稳定性高、性能出色、配置简单以及占用资源少等优点,在互联网行业中被广泛应用。...
### Nginx服务器的安装与配置 #### 一、Nginx简介 Nginx是一款高性能的HTTP和反向代理Web服务器,同时也提供了IMAP/POP3/SMTP服务。它以其稳定性、丰富的功能集、简单的配置文件和低资源消耗而闻名。Nginx是由Igor...
Nginx的配置文件通常位于`/etc/nginx/nginx.conf`,但主要的站点配置文件可能在`/etc/nginx/sites-available`目录下,然后通过软链接到`/etc/nginx/sites-enabled`来启用。例如,创建一个新的配置文件`/etc/nginx/...