本文不讲述软件安装过程,记述本人在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. maven升级遇到的疑惑

    今天在解决一个问题的时候,由于需要修改maven的client包,按照之前的办法,修改完之后,没有修改版本号,而是直接修改client的代码,之后直接 mvn deploy -e 打包上去了,然后奇怪 ...

  2. Linux ->> <user_name> not in the sudoers file. This incident will be reported.

    昨天在用sudo命令执行mkdir命令的时候发生了错误.错误提示如下: hadoop@master:/home$ sudo mkdir /home/hadoop [sudo] password for ...

  3. Connection Manager ->> Multiple Flat File Connection & Multiple File Connection

    遍历一个文件夹下的所有文件的方法有两钟:1)使用Multiple Flat File Connection,把所有我们要的文件用"|"作为连接符拼凑出一条connection st ...

  4. [EffectiveC++]item36:绝不重新定义继承而来的non-virtual函数

  5. sql2005 和 mysql 定时备份批处理

    保存为sqlbak.bat  目录我直接放winrar 的根目录了 或者拷贝一个winrar.exe 具体目录随意. 然后添加计划任务个人的话建议一周或者一天 虚拟主机等 建议每周或者每月 @echo ...

  6. servlet-api-2.5.jar - jar not loaded

    由于包重复,把发布后的项目中的servlet-api-2.5.jar删除,不要clean项目,直接重新启动server即可.由于优先使用项目中的包,而实际使用需要tomcat中的包导致,直入页面会报o ...

  7. bzoj3609 [Heoi2014]人人尽说江南好

    Description 小 Z 是一个不折不扣的 ZRP(Zealot Round-game Player,回合制游戏狂热玩家),最近他 想起了小时候在江南玩过的一个游戏.    在过去,人们是要边玩 ...

  8. org.openqa.selenium.WebDriverException: unknown error: missing or invalid 'entry.level'

    错误原因:chrome与chromedriver版本号不匹配,升级后即可解决

  9. SMB linux&windows共享文件

    搭建就不多说了:https://www.xuebuyuan.com/3235974.html 在其中可以用cd(进入目录),ls(罗列文件和文件夹),get(下载文件),put(上载文件) 等命令进行 ...

  10. POJ 1845 Sumdiv 【二分 || 逆元】

    任意门:http://poj.org/problem?id=1845. Sumdiv Time Limit: 1000MS Memory Limit: 30000K Total Submissions ...