最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
CentOS下ThinkPHP项目怎么部署
时间:2026-07-06 10:03:46 编辑:袖梨 来源:一聚教程网
CentOS下ThinkPHP项目部署详细步骤
1. 环境准备
在部署前需安装Web服务器(Nginx/Apache)、PHP环境、数据库(MySQL/MariaDB)、Composer等必要组件。

- 安装Nginx(以Nginx为例):
sudo yum install epel-release -ysudo yum install nginx -ysudo systemctl start nginxsudo systemctl enable nginx - 安装PHP及扩展(ThinkPHP 6需PHP 7.4+):
sudo yum install php php-fpm php-mysqlnd php-gd php-mbstring php-xml php-curl -ysudo systemctl start php-fpmsudo systemctl enable php-fpm - 安装MySQL:
sudo yum install mysql-server -ysudo systemctl start mysqldsudo systemctl enable mysqldsudo mysql_secure_installation# 完成安全初始化配置 - 安装Composer(PHP依赖管理工具):
curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composer
2. 配置Web服务器
Nginx配置
创建ThinkPHP专属站点配置文件(如/etc/nginx/conf.d/thinkphp.conf),内容如下:
server {listen 80;server_name your_domain.com;# 替换为你的域名/IProot /var/www/html/thinkphp/public;# ThinkPHP项目public目录index index.php index.html;location / {try_files $uri $uri/ /index.php?$query_string;# 路由转发到index.php}location ~ .php$ {fastcgi_pass unix:/run/php-fpm/www.sock;# PHP-FPM监听socketfastcgi_index index.php;include fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_path_info;# 支持PATH_INFO}location ~ /.ht {deny all;# 禁止访问.htaccess文件}}测试配置并重启Nginx:
sudo nginx -t# 检查配置语法sudo systemctl restart nginxApache配置(可选)
若使用Apache,需启用mod_rewrite模块并创建虚拟主机:
sudo a2enmod rewritesudo systemctl restart httpd创建配置文件(如/etc/httpd/conf.d/thinkphp.conf):
<VirtualHost *:80>ServerName your_domain.comDocumentRoot /var/www/html/thinkphp/public<Directory /var/www/html/thinkphp/public>Options Indexes FollowSymLinksAllowOverride AllRequire all granted</Directory></VirtualHost>3. 部署ThinkPHP项目
- 上传项目代码:通过Git、FTP或SFTP将项目上传至
/var/www/html/thinkphp(或其他目录)。 - 安装依赖:进入项目目录,执行Composer安装:
cd /var/www/html/thinkphpcomposer install --no-dev --optimize-autoloader# 生产环境关闭dev依赖 - 配置数据库:编辑
.env文件(或config/database.php),填写数据库连接信息:DB_TYPE=mysqlDB_HOST=127.0.0.1DB_NAME=your_db_nameDB_USER=your_db_userDB_PASSWORD=your_db_passwordDB_PORT=3306DB_PREFIX=tp_# 可选表前缀
4. 设置权限
确保Web服务器用户(Nginx默认nginx,Apache默认apache)对项目目录有读写权限:
sudo chown -R nginx:nginx /var/www/html/thinkphp# 修改所属用户/组sudo chmod -R 755 /var/www/html/thinkphp# 设置目录权限sudo chmod -R 777 /var/www/html/thinkphp/runtime# runtime目录需可写(上传/缓存)5. 启动服务并测试
- 启动服务:
sudo systemctl start nginx php-fpm mysqld# 启动Nginx、PHP-FPM、MySQLsudo systemctl enable nginx php-fpm mysqld # 设置开机自启 - 测试访问:浏览器输入
http://your_domain.com,若看到ThinkPHP欢迎页面则部署成功。
6. 生产环境优化(可选)
- 关闭调试模式:修改
.env文件,设置APP_DEBUG=false,避免敏感信息泄露。 - 配置缓存:开启OPcache提升PHP性能,编辑
/etc/php.ini:zend_extension=opcache.soopcache.enable=1opcache.memory_consumption=128opcache.max_accelerated_files=4000 - 使用Redis缓存:安装Redis并配置ThinkPHP使用Redis存储会话/缓存,提升并发性能。
- 配置HTTPS:通过Let’s Encrypt申请免费SSL证书,配置Nginx支持HTTPS(
listen 443 ssl)。
常见问题排查
- 502 Bad Gateway:检查PHP-FPM是否运行(
sudo systemctl status php-fpm),确认Nginx配置中的fastcgi_pass路径正确。 - 路由失效:确保Nginx配置中包含
try_files $uri $uri/ /index.php?$query_string;,且PATH_INFO参数已开启。 - 权限问题:若出现“Permission denied”错误,检查项目目录所属用户及权限(
ls -ld /var/www/html/thinkphp)。
相关文章
- 快影名人堂查看方式 07-06
- 快影名人堂入选指引 07-06
- 影之刃绝影连招秘诀 07-06
- 影之刃3绝影速成玩法 07-06
- 快影使用指南:功能介绍轻松查看 07-06
- 快影去字教学 07-06