一、环境准备:安装基础软件包
在CentOS上部署ThinkPHP前,需先安装**Web服务器(Nginx/Apache)、PHP及扩展、Composer、数据库(MySQL/MariaDB)**等基础组件。
1. 更新系统并安装EPEL源(可选但推荐)
sudo yum update -y
sudo yum install -y epel-release # 用于后续安装额外软件包
2. 安装Web服务器(以Nginx为例)
sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx # 设置开机自启
若使用Apache,替换为:
sudo yum install -y httpd
sudo systemctl start httpd
sudo systemctl enable httpd
3. 安装PHP及必要扩展
ThinkPHP 8.x要求PHP≥8.0,需安装PHP核心、FPM(用于Nginx)、数据库驱动(如MySQL)及常用扩展:
sudo yum install -y php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-curl php-xml php-bcmath
验证PHP版本:
php -v # 需显示PHP 8.0及以上版本
4. 安装Composer(PHP依赖管理工具)
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer --version # 验证安装
5. 安装数据库(以MySQL为例)
sudo yum install -y mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
# 运行安全脚本设置root密码
sudo mysql_secure_installation
二、配置Web服务器
1. 配置Nginx(关键:支持PATHINFO)
编辑Nginx站点配置文件(如/etc/nginx/conf.d/thinkphp.conf),添加以下内容:
server {
listen 80;
server_name your_domain_or_ip; # 替换为域名或IP
root /path/to/your/thinkphp/public; # 必须指向public目录(入口文件所在)
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string; # 路由重写,支持PATHINFO
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/php-fpm.sock; # 与PHP-FPM通信
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location ~ /\.ht {
deny all; # 禁止访问.htaccess文件
}
}
测试Nginx配置并重启:
sudo nginx -t # 检查语法
sudo systemctl restart nginx
2. 配置Apache(可选)
若使用Apache,需启用mod_rewrite模块并配置虚拟主机:
sudo a2enmod rewrite # 启用重写模块
sudo systemctl restart httpd
创建虚拟主机配置文件(如/etc/httpd/conf.d/thinkphp.conf):
:80 >
ServerName your_domain_or_ip
DocumentRoot /path/to/your/thinkphp/public
Options Indexes FollowSymLinks
AllowOverride All # 允许.htaccess覆盖
Require all granted
重启Apache:
sudo systemctl restart httpd
三、部署ThinkPHP项目
1. 使用Composer创建项目
进入Web服务器根目录(如/var/www/html),通过Composer创建ThinkPHP项目:
cd /var/www/html
composer create-project topthink/think tp6 # 创建ThinkPHP 6.x项目,名称为tp6
2. 配置数据库连接
编辑项目根目录下的.env文件(或config/database.php),填写数据库信息:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name # 替换为已创建的数据库名
DB_USERNAME=your_username # 替换为数据库用户名
DB_PASSWORD=your_password # 替换为数据库密码
3. 运行数据库迁移(可选)
若项目包含数据库表结构,执行迁移命令:
cd /path/to/your/thinkphp
php think migrate
四、设置权限与优化
1. 调整目录权限
确保Web服务器用户(Nginx为nginx,Apache为apache)对项目目录有读写权限:
sudo chown -R nginx:nginx /path/to/your/thinkphp # Nginx用户
sudo chmod -R 755 /path/to/your/thinkphp
2. 关闭调试模式(生产环境)
编辑.env文件,设置:
APP_DEBUG = false # 关闭调试模式,避免暴露敏感信息
3. 配置HTTPS(可选但推荐)
使用Let’s Encrypt免费获取SSL证书:
sudo yum install -y certbot python3-certbot-nginx # Nginx用户
sudo certbot --nginx -d your_domain_or_ip # 自动配置HTTPS
五、启动与验证
1. 启动项目
- 若使用内置服务器(开发环境):
浏览器访问cd /path/to/your/thinkphp php think run # 默认监听8000端口http://your_domain_or_ip:8000。 - 若使用Nginx/Apache(生产环境):
直接访问
http://your_domain_or_ip或https://your_domain_or_ip。
2. 验证结果
若看到ThinkPHP欢迎页面,说明部署成功。若遇到502错误,需检查:
- PHP-FPM是否运行(
sudo systemctl status php-fpm); - Nginx配置中的
fastcgi_pass路径是否正确(与PHP-FPM的listen一致); - 项目目录权限是否正确。
以上就是关于“thinkphp在centos的配置步骤”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm