本文不讲述软件安装过程,记述本人在Debia中配置CodeIgniter时遇到的问题及解决方法,希望能够为有需要的人提供帮助。

一、Debian版本及所需的软件

  Debian 9.8 stretch

  PHP 7.0.3

  Nginx 1.10.3-1

  Php7.0-fpm

  phpMyAdmin 4.8.5

  MariaDB 10.1.37

  CodeIgniter 3.1.10

二、nginx虚拟主机配置

  首先说一下Debian中nginx配置文件的分布,/etc/nginx/nginx.conf中包含nginx的启动用户、进程ID和http等全局配置,具体server配置通过include /enc/nginx/sites-enabled/* 给出,site-enabled目录中只包含软链接,软链接指向site-available目录中相应的配置文件。site-available中有一个默认server配置,下面是我的site-enabled目录情况:

  下面是codeigniter和php_my_admin两个文件(在sites-available目录中)的内容

codeigniter:

# Server configuration for CodeIgniter
server { listen 80 default_server;
listen [::]:80 default_server; root /var/www/html/CodeIgniter-3.1.10; # Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html; server_name www.ci.com; location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404; } # pass PHP scripts to FastCGI server location ~ \.php($|/) { include snippets/fastcgi-php.conf; # With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
}

php_my_amdin:

# Server configuration for phpMyAdmin

server {

    listen 80;

    root /var/www/html/phpMyAdmin;

    # Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html; server_name www.pma.com; location / { # First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
} # pass PHP scripts to FastCGI server location ~ \.php($|/) { include snippets/fastcgi-php.conf; # With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
}

注意:以上两个文件有以下两处不同
  1、root

  2、server_name

  这样配置完成后,重新启动nginx会报错,因为两个server_name还没有设置,这个需要修改/etc/hosts文件,添加下面两行:

  127.0.0.1 www.ci.com

  127.0.0.1 www.pma.com

  其中www.ci.com和www.pma.com是codeigniter和php_my_admin中server_name对应,这个两个可以根据自己的喜好设置,重启电脑就可以正常运行nginx了,可以通过www.ci.com和www.pma.com来访问相应的网站了。

注:在配置以上两个server时注意location ~ \.php($|/),默认只有$,要加上|/,否则可能会出现只能访问CI配置路由的页面,访问其他页面会出现404错误。

三、Codeigniter配置

  配置文件config.php

  $config['base_url'] = 'http://www.ci.com/';

  这一句http://这个要有,不能少

  $config['index_page'] = 'index.php';

  在没有配置index.php省略时,这个要有,因为CodeIgniter中site_url会包含$config['base_url']和$config['index_page']两部分。

  $config['uri_protocol'] = 'PATH_INFO';

Debian中CodeIgniter+nginx+MariaDB+phpMyAdmin配置的更多相关文章

  1. codeigniter nginx rewrite规则配置【转】

    转自:http://www.nginx.cn/1134.html nginx如何配置才能支持codeigniter ? 1. codeigniter的url美化去掉index.php   1 2 3 ...

  2. linux(Debian) 中的cron计划任务配置方法

    cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情.用crontab配置是针对某个用户的 ...

  3. 在win10 docker启动的centos容器中安装nginx

    我是在win10机器上搭建了一个docker,在docker启动了centos容器,在centos中安装nginx. 安装配置docker 直接在官网下载docker for windows:http ...

  4. 在CentOS中快速安装PHP,MySQL,Nginx和phpMyAdmin

    安装环境 yum install -y autoconf automake gcc gcc-c++ git libtool make nasm pkgconfig zlib-devel vim 安装p ...

  5. Ubuntu 安装phpMyAdmin + 配置nginx

    0x01 安装phpMyAdmin ``` sudo apt-get install phpmyadmin ``` 0x02 添加链接 ``` sudo ln -s /usr/share/phpMyA ...

  6. Linux中Nginx安装与配置详解

    转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...

  7. linux中keepalived实现nginx高可用配置

    linux中keepalived实现nginx高可用配置 安装keepalived 运行如下命令即可 tar -zxvf keepalived-2.0.8.tar.gz -C /usr/src cd ...

  8. asp.net中 使用Nginx 配置 IIS站点负载均衡

    这是一偏初学者入门的内容,发现有问题的地方,欢迎留言,一起学习,一起进步 本文主要记录一下在Windows平台中,IIS站点如何使用Nginx 做一个简单的负载均衡  一. 准备工作: 官网下载安装包 ...

  9. HHvm建站环境搭建方法:Nginx,Mariadb,hhvm及lnmp/lamp安装部署

    HHVM起源于Facebook公司,是一个开源的PHP虚拟机,使用JIT的编译方式以及其他技术,让PHP代码的执行性能大幅提升.HHVM提升PHP性能的途径,采用的方式就是替代Zend引擎来生成和执行 ...

随机推荐

  1. css属性值语法解读

    //margin 形式语法: [ <length> | <percentage> | auto ]{1,4} //合法实例: margin: style /*单值语法 */ 举 ...

  2. MySQL5.7二进制安装

    MySQL-5.7.14从零开始-安装 首先我们要选择下载MySQL的版本: 登录官方网站下载:https://dev.mysql.com/downloads/mysql/ 下面我们选择5.7.14的 ...

  3. svn merge error must be ancestrally related to,trunk merge branch报错

    trunk merge branch的时候报错 xxx must be ancestrally related to xxx,这个报错的意思是两者不关联,所以需要去建立关联. [回顾背景]       ...

  4. 常用的邮箱服务器(SMTP、POP3)地址、端口

    sina.com: POP3 服务器地址:pop3.sina.com.cn(端口:110) SMTP 服务器地址:smtp.sina.com.cn(端口:25) sinaVIP: POP3 服务器:p ...

  5. Linux:配置HTTPS,获取ssl证书

    这里小仓鼠将Https配置流程记录下来 1.访问网站:https://www.aliyun.com/ss/?k=ssl 2.选择‘立即购买’ 3. 页面变换为: 4.点击‘立即购买’ 5.进行支付 6 ...

  6. [EffectiveC++]item38:通过复合塑膜出has -a 或“根据某物实现出”

    Model "has-a"or “is-implemented-in-terms-of” through composition

  7. CopyOnWriteArrayList对比ArrayList

    ArrayList非线程安全,CopyOnWriteArrayList线程安全 ArrayList添加元素的时候内部会预先分配存储空间,CopyOnWriteArrayList每次添加元素都会重新co ...

  8. JavaScript的DOM_节点类型的扩展

    DOM 自身存在很多类型,比如 Element 类型(元素节点)再比如 Text 类型(文本节点).DOM 还提供了一些扩展功能. 一.Node类型 Node 接口是 DOM1 级就定义了,Node ...

  9. Django的开发服务的搭建和使用

    创建一个项目¶ 如果这是你第一次使用Django,你需要完成一些初始化操作. 即,你需要自己用代码来创建一个Django项目 ——一个Django实例所需的设置集合,包括数据库的配置.Django的配 ...

  10. CAAnimation 动画支撑系统

    Model支撑:(依附对象) 从presentLayer获取数据: 渲染树为私有: -(void)addAnimation:(CAAnimation *)anim forKey:(NSString * ...