在Debian上部署ThinkPHP框架,可以按照以下步骤进行:
首先,确保你的Debian系统已经安装了PHP和Web服务器(如Apache或Nginx)。
sudo apt update
sudo apt install php php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
如果你选择使用Apache:
sudo apt install apache2
如果你选择使用Nginx:
sudo apt install nginx
编辑Apache配置文件 /etc/apache2/sites-available/000-default.conf,添加以下内容:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
启用站点:
sudo a2ensite 000-default.conf
sudo systemctl restart apache2
编辑Nginx配置文件 /etc/nginx/sites-available/default,添加以下内容:
server {
listen 80;
server_name your_domain_or_ip;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
重启Nginx:
sudo systemctl restart nginx
cd /var/www/html
git clone https://github.com/top-think/think.git your_project_name
cd your_project_name
sudo apt install composer
composer install
编辑 .env 文件,配置数据库连接信息:
DB_TYPE=mysql
DB_HOST=127.0.0.1
DB_NAME=your_database_name
DB_USER=your_database_user
DB_PASSWORD=your_database_password
DB_PORT=3306
DB_PREFIX=
确保你的应用目录结构正确,通常应该是:
/var/www/html/your_project_name
├── application
├── config
├── public
├── runtime
├── vendor
└── .env
确保Web服务器用户(通常是 www-data)有权限访问你的项目目录:
sudo chown -R www-data:www-data /var/www/html/your_project_name
sudo chmod -R 755 /var/www/html/your_project_name
如果你使用的是Apache:
sudo systemctl start apache2
如果你使用的是Nginx:
sudo systemctl start nginx
打开浏览器,访问 http://your_domain_or_ip/your_project_name,你应该能够看到ThinkPHP的欢迎页面。
为了安全起见,建议配置HTTPS。你可以使用Let’s Encrypt免费获取SSL证书:
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d your_domain_or_ip
按照提示完成配置即可。
通过以上步骤,你应该能够在Debian上成功部署ThinkPHP框架。