以下是在CentOS上部署ThinkPHP项目的核心步骤:
sudo yum update -y
sudo yum install epel-release -y
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
sudo yum install php php-fpm php-mysqlnd php-mbstring php-xml php-curl -y
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
配置PHP-FPM监听路径:编辑/etc/php-fpm.d/www.conf
,确保listen = /run/php-fpm/www.sock
,并设置listen.owner/group = nginx
。curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
/var/www/html/thinkphp
)。cd /var/www/html
git clone https://github.com/your-repo/thinkphp-project.git
sudo mysql -u root -p
CREATE DATABASE thinkphp_db;
CREATE USER 'thinkphp_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON thinkphp_db.* TO 'thinkphp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
config/database.php
或.env
):'DB_TYPE' => 'mysql',
'DB_HOST' => '127.0.0.1',
'DB_NAME' => 'thinkphp_db',
'DB_USER' => 'thinkphp_user',
'DB_PWD' => 'your_password',
/etc/nginx/conf.d/thinkphp.conf
:server {
listen 80;
server_name your_domain.com;
root /var/www/html/thinkphp/public; # 确保指向public目录
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
}
重启Nginx:sudo nginx -t # 测试配置
sudo systemctl restart nginx
sudo chown -R nginx:nginx /var/www/html/thinkphp
sudo chmod -R 755 /var/www/html/thinkphp
sudo yum install supervisor -y
sudo vi /etc/supervisor/conf.d/thinkphp.conf
# 添加以下内容:
[program:thinkphp]
command=/usr/bin/php /var/www/html/thinkphp/think run
autostart=true
autorestart=true
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start thinkphp
在浏览器输入http://your_domain.com
,若看到ThinkPHP欢迎页面,则部署成功。
APP_DEBUG
(修改config/app.php
)。.env
文件访问权限(chmod 600 .env
),并配置防火墙放行必要端口。php.ini
)或使用Redis缓存。参考来源: