ThinkPHP项目在Ubuntu上的部署流程如下:
安装基础环境
sudo apt update && sudo apt upgrade -y
sudo apt install php php-fpm php-mysql php-mbstring php-xml php-curl
sudo apt install nginx
sudo apt install apache2
,并启用mod_rewrite
模块:sudo a2enmod rewrite
curl -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。参考来源: