Linux系统部署ThinkPHP的流程如下:
环境准备
sudo apt update && sudo apt install php php-fpm php-mysql php-mbstring php-xml php-curl nginx。sudo yum install php php-fpm php-mysqlnd php-mbstring php-xml php-curl nginx。curl -sS https://getcomposer.org/installer | php && sudo mv composer.phar /usr/local/bin/composer。部署ThinkPHP项目
composer create-project topthink/think tp6(tp6为项目目录名)。/var/www/html)。配置Web服务器
/etc/nginx/sites-available/thinkphp):server {
listen 80;
server_name yourdomain.com;
root /path/to/tp6/public;
index index.php;
location / { try_files $uri $uri/ /index.php?$query_string; }
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
}
```。
sudo ln -s /etc/nginx/sites-available/thinkphp /etc/nginx/sites-enabled/ && sudo systemctl restart nginx。mod_rewrite:sudo a2enmod rewrite。.htaccess:<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
```。
关键配置调整
.env文件中的数据库参数(如主机、用户名、密码)。runtime目录可写:sudo chown -R www-data:www-data /path/to/tp6 && sudo chmod -R 755 /path/to/tp6。启动与测试
sudo systemctl restart nginx(或apache2)。http://yourdomain.com/tp6/public)。优化与安全
config/app.php中app_debug为false。.env文件访问:通过Nginx/Apache配置禁止访问.env。注意事项:
fastcgi_pass路径是否正确。try_files指令。参考来源: