ThinkPHP項目在Ubuntu上的部署流程如下:
安裝基礎環境
sudo apt update && sudo apt upgrade -ysudo apt install php php-fpm php-mysql php-mbstring php-xml php-curlsudo apt install nginxsudo apt install apache2,并啟用mod_rewrite模塊:sudo a2enmod rewritecurl -sS https://getcomposer.org/installer | php,移動到全局路徑:sudo mv composer.phar /usr/local/bin/composer部署項目文件
wget或scp項目壓縮包,解壓至指定目錄(如/var/www/html/thinkphp)。composer create-project topthink/think 項目名。sudo chown -R www-data:www-data /var/www/html/thinkphp,sudo chmod -R 755 /var/www/html/thinkphp。配置Web服務器
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/thinkphp。server {
listen 80;
server_name your_domain_or_ip;
root /var/www/html/thinkphp/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
sudo ln -s /etc/nginx/sites-available/thinkphp /etc/nginx/sites-enabled/,sudo systemctl restart nginx。sudo vi /etc/apache2/sites-available/thinkphp.conf,內容參考Nginx或官方文檔。sudo a2ensite thinkphp.conf,sudo systemctl restart apache2。配置數據庫
sudo mysql -u root -p,創建數據庫及用戶:CREATE DATABASE thinkphp_db;
CREATE USER 'thinkphp_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON thinkphp_db.* TO 'thinkphp_user'@'localhost';
FLUSH PRIVILEGES;
application/database.php,填入數據庫連接信息。測試部署
http://your_domain_or_ip,若顯示ThinkPHP歡迎頁面則部署成功。fastcgi_pass路徑正確。try_files規則,且服務器支持PATHINFO。參考來源: