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

sudo yum install epel-release -ysudo yum install nginx -ysudo systemctl start nginxsudo systemctl enable nginxsudo yum install php php-fpm php-mysqlnd php-gd php-mbstring php-xml php-curl -ysudo systemctl start php-fpmsudo systemctl enable php-fpmsudo yum install mysql-server -ysudo systemctl start mysqldsudo systemctl enable mysqldsudo mysql_secure_installation# 完成安全初始化配置curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composer创建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 nginx若使用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>/var/www/html/thinkphp(或其他目录)。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_# 可选表前缀确保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目录需可写(上传/缓存)sudo systemctl start nginx php-fpm mysqld# 启动Nginx、PHP-FPM、MySQLsudo systemctl enable nginx php-fpm mysqld # 设置开机自启http://your_domain.com,若看到ThinkPHP欢迎页面则部署成功。.env文件,设置APP_DEBUG=false,避免敏感信息泄露。/etc/php.ini:zend_extension=opcache.soopcache.enable=1opcache.memory_consumption=128opcache.max_accelerated_files=4000listen 443 ssl)。sudo systemctl status php-fpm),确认Nginx配置中的fastcgi_pass路径正确。try_files $uri $uri/ /index.php?$query_string;,且PATH_INFO参数已开启。ls -ld /var/www/html/thinkphp)。