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
指令。參考來源: