CodeIgniter是老牌的轻量级PHP框架,以体积小、速度快、几乎零配置著称。它的目录结构简单,核心代码不到几MB,对服务器资源占用极低,一台1核1G的入门级云服务器就足够支撑中小型项目。这篇文章以一台全新的Linux云主机为例,完整演示从裸机到站点可访问的全过程,所用命令均基于CentOS和Ubuntu两大主流发行版,照着敲就能跑通。

一、部署前的环境准备
CodeIgniter 3.x版本要求PHP 5.6以上,而CodeIgniter 4.x则要求PHP 7.2以上,推荐直接使用PHP 7.4或PHP 8.1,兼容性和性能都更有保障。在动手之前,先通过SSH连接到云服务器,确认系统版本和防火墙状态,避免部署到一半才发现80端口没放行。
以Ubuntu为例,更新软件源并安装基础组件:
apt update && apt install -y nginx php-fpm php-mysql php-mbstring unzip
如果是CentOS系统,则先安装EPEL源和Remi源,再执行yum install nginx php-fpm php-mysqlnd等命令。安装完成后,用php -v确认版本号,用systemctl status php-fpm确认进程已启动。需要注意的是,CodeIgniter依赖的mbstring和intl扩展一定要装上,否则运行时会报错。
安全组方面,记得在云厂商控制台放行80和443端口,22端口建议限制来源IP。这些细节看着琐碎,却是新手部署失败率最高的环节之一。
二、获取代码并放置到站点目录
CodeIgniter的代码获取有两种常见方式:直接从官网下载压缩包,或者用git clone拉取仓库。下载zip包的方式最直接,解压后把内容放到网站根目录即可,例如/var/www/cidemo。
具体操作:
cd /var/www
wget https://codeigniter.com/download -o ci.zip
unzip ci.zip -d cidemo
chown -R www-data:www-data cidemo
目录权限是很多人容易忽略的地方。writable目录(CodeIgniter 4)或application/cache、application/logs目录(CodeIgniter 3)需要Web服务器用户拥有写入权限,否则页面能打开但日志和缓存无法生成,排查问题时会非常难受。用chown把整个项目归属到www-data用户,再用chmod 755调整目录权限就足够了,不建议图省事给777。
三、Nginx配置与伪静态规则
Nginx配合php-fpm是目前PHP部署的主流方案,性能比传统Apache mod_php更稳定。在/etc/nginx/sites-available/目录下新建一个配置文件,写入如下内容:
server {
listen 80;
server_name yourdomain.com;
root /var/www/cidemo/public;
index index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
}
这里有两个关键点。第一,CodeIgniter 4的入口文件在public目录下,root必须指向public,这是它和CodeIgniter 3最大的区别;如果用CodeIgniter 3,root直接指向项目根目录即可。第二,try_files那行是伪静态的核心,它把所有不存在的路径都交给index.php处理,这样URL才能实现去掉index.php的效果。
配置完成后执行ln -s建立软链接到sites-enabled,再用nginx -t检查语法,没有报错就systemctl reload nginx重新加载。
四、验证部署与常见问题排查
浏览器访问服务器IP或域名,看到CodeIgniter的欢迎页,说明部署成功一半。接下来在application目录里创建一个测试控制器,输出phpinfo或一段文字,验证路由是否正常工作。如果访问出现404,九成是伪静态规则没生效或者root路径指错了;如果出现空白页,多半是PHP扩展缺失或权限问题,查看/var/log/nginx/error.log和项目日志就能定位。
数据库接入方面,CodeIgniter 3在application/config/database.php中填写主机、用户名、密码等信息,CodeIgniter 4则在app/Config/Database.php中配置,两者改完即用,不需要额外命令。生产环境记得把ENVIRONMENT改为production,关闭错误输出,避免敏感信息暴露给访问者。
五、上线前的几点建议
站点跑通只是第一步,正式对外服务前还有几件事值得做:配置SSL证书,可以直接用certbot一键签发免费的Let's Encrypt证书;开启opcache提升PHP执行效率;把上传目录和运行目录的权限再做一次收紧。CodeIgniter本身的请求开销很小,加上这些优化后,一台低配云主机轻松应对日均几万的访问量不成问题。
总的来说,CodeIgniter的部署流程在各类PHP框架里算是门槛最低的一档,环境装好、文件放对、规则写准,三步就能上线。遇到问题优先看日志,绝大多数报错都能在日志里找到明确原因。
CodeIgniter部署云服务器PHP框架修改时间:2026-09-15 20:20:36