最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
centos上thinkphp项目部署流程如何操作
时间:2026-06-12 08:23:51 编辑:袖梨 来源:一聚教程网
CentOS上ThinkPHP项目部署流程
1. 环境准备
在部署前需安装Web服务器(Nginx/Apache)、PHP环境、Composer(依赖管理)、MySQL/MariaDB(数据库),确保系统具备运行ThinkPHP的基础条件。

- 安装Nginx(以Nginx为例):
sudo yum install epel-release -ysudo yum install nginx -ysudo systemctl start nginxsudo systemctl enable nginx - 安装PHP及扩展(ThinkPHP 6.x推荐PHP 7.4+):
sudo yum install php php-fpm php-mysqlnd php-gd php-mbstring php-curl php-xml php-zip -ysudo systemctl start php-fpmsudo systemctl enable php-fpm - 安装Composer(管理PHP依赖):
curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composer
2. 配置Web服务器
根据选择的Web服务器调整配置,确保能正确解析PHP请求并指向项目目录。
- Nginx配置(关键:开启PATHINFO支持):编辑
/etc/nginx/conf.d/thinkphp.conf(或新建站点配置),添加以下内容:
测试配置并重启Nginx:server {listen 80;server_name your_domain.com;# 替换为你的域名/IProot /path/to/your/thinkphp/project/public;# 必须指向public目录(ThinkPHP入口)index index.php index.html;location / {try_files $uri $uri/ /index.php?$query_string;# 路由转发到index.php}location ~ .php$ {fastcgi_pass unix:/run/php-fpm/php-fpm.sock;# 与php-fpm监听端口一致fastcgi_index index.php;include fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_path_info;}location ~ /.ht {deny all;# 禁止访问.htaccess文件}}sudo nginx -tsudo systemctl restart nginx - Apache配置(可选):若使用Apache,需启用
mod_rewrite模块,并创建虚拟主机配置,确保AllowOverride All(允许.htaccess生效)。
3. 部署ThinkPHP项目
将项目代码上传至服务器指定目录(如/var/www/html/thinkphp),推荐使用Git或FTP工具。
- 通过Git克隆项目(推荐,便于版本管理):
cd /path/to/your/projectgit clone https://github.com/your/thinkphp-project.git . - 通过FTP上传:使用FileZilla等工具将本地项目文件上传至服务器目标目录。
4. 安装依赖与配置数据库
- 安装Composer依赖:进入项目根目录,执行以下命令安装依赖(生产环境建议添加
--no-dev跳过开发依赖):composer install --no-dev --optimize-autoloader - 配置数据库连接:编辑项目根目录下的
.env文件(优先级高于config/database.php),修改数据库配置:DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=your_database_nameDB_USERNAME=your_usernameDB_PASSWORD=your_password - 创建数据库与表:登录MySQL,执行以下命令:
CREATE DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;USE your_database_name;SOURCE /path/to/your/thinkphp/project/database/init.sql;# 导入初始化表结构(若有)
5. 设置文件权限
确保项目目录权限正确,避免因权限问题导致无法访问或写入。
sudo chown -R nginx:nginx /path/to/your/thinkphp/project# 若使用Nginx,用户为nginxsudo chmod -R 755 /path/to/your/thinkphp/projectsudo chmod -R 775 /path/to/your/thinkphp/project/runtime# runtime目录需可写6. 启动服务与访问项目
- 启动Web服务:
sudo systemctl start nginxsudo systemctl enable nginxsudo systemctl start php-fpmsudo systemctl enable php-fpm - 访问项目:在浏览器中输入
http://your_domain.com,若看到ThinkPHP欢迎页面,说明部署成功。
7. 优化与安全配置(可选但推荐)
- 关闭调试模式:修改
.env文件,将APP_DEBUG=true改为APP_DEBUG=false,避免泄露敏感信息。 - 配置HTTPS:使用Let’s Encrypt免费证书,通过Certbot工具配置HTTPS,提升安全性:
sudo yum install certbot python3-certbot-nginx -ysudo certbot --nginx -d your_domain.com - 开启OPcache:编辑
php.ini,启用OPcache加速PHP执行:opcache.enable=1opcache.memory_consumption=128opcache.interned_strings_buffer=8opcache.max_accelerated_files=4000opcache.revalidate_freq=60 - 配置缓存:使用Redis或Memcached作为缓存驱动,提升性能(需安装对应扩展并修改
.env配置)。
常见问题排查
- 502 Bad Gateway:检查PHP-FPM是否运行(
sudo systemctl status php-fpm),确认Nginx配置中的fastcgi_pass路径与php-fpm监听端口一致。 - 路由失效:确保Nginx配置中包含
try_files $uri $uri/ /index.php?$query_string;,且PATH_INFO参数正确传递。 - 权限问题:检查项目目录所有者是否为Web服务器用户(如
nginx),runtime目录是否可写。
相关文章
- boss直聘头像如何换回默认 boss直聘头像换回默认方法 06-16
- Mistral AI功能介绍与OpenAI有何区别? 06-16
- 点众阅读如何删除 点众阅读阅读记录删除方法 06-16
- BLOG营销策略与实操技巧 - 2026最新入门指南 06-16
- Anthropic功能介绍 vs OpenAI:差异与适用场景 06-16
- 红色沙漠雷特的请求任务怎么做 06-16