centos

CentOS下ThinkPHP项目如何部署

小樊
42
2025-10-08 23:23:00
栏目: 编程语言

CentOS下ThinkPHP项目部署详细步骤

1. 环境准备

在部署前需安装Web服务器(Nginx/Apache)、PHP环境、数据库(MySQL/MariaDB)、Composer等必要组件。

2. 配置Web服务器

Nginx配置

创建ThinkPHP专属站点配置文件(如/etc/nginx/conf.d/thinkphp.conf),内容如下:

server {
    listen 80;
    server_name your_domain.com;  # 替换为你的域名/IP
    root /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监听socket
        fastcgi_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 nginx
Apache配置(可选)

若使用Apache,需启用mod_rewrite模块并创建虚拟主机:

sudo a2enmod rewrite
sudo systemctl restart httpd

创建配置文件(如/etc/httpd/conf.d/thinkphp.conf):

<VirtualHost *:80>
    ServerName your_domain.com
    DocumentRoot /var/www/html/thinkphp/public
    <Directory /var/www/html/thinkphp/public>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

3. 部署ThinkPHP项目

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. 启动服务并测试

6. 生产环境优化(可选)

常见问题排查

0
看了该问题的人还看了