Debian系统ThinkPHP框架安装指南
导读:Debian系统 ThinkPHP 安装与部署指南 一 环境准备 更新系统并安装基础工具: sudo apt update && sudo apt upgrade -y sudo apt install -y curl...
Debian系统 ThinkPHP 安装与部署指南
一 环境准备
- 更新系统并安装基础工具:
- sudo apt update & & sudo apt upgrade -y
- sudo apt install -y curl wget unzip
- 安装 PHP 与常用扩展(按需选择版本,示例为 PHP 7.4/8.x):
- sudo apt install -y php php-cli php-fpm php-mysql php-mbstring php-xml php-curl php-zip php-gd php-bcmath
- 安装数据库(以 MySQL 为例):
- sudo apt install -y mysql-server
- sudo systemctl start mysql & & sudo systemctl enable mysql
- 执行安全初始化:sudo mysql_secure_installation
- 安装并启动 Web 服务器(二选一或并存):
- Nginx:sudo apt install -y nginx & & sudo systemctl start nginx & & sudo systemctl enable nginx
- Apache:sudo apt install -y apache2 libapache2-mod-php & & sudo systemctl start apache2 & & sudo systemctl enable apache2
- 安装 Composer(PHP 依赖管理):
- curl -sS https://getcomposer.org/installer | php
- sudo mv composer.phar /usr/local/bin/composer 说明:ThinkPHP 可在 Linux/Debian 正常运行,上述组件满足其运行所需环境。
二 获取与安装 ThinkPHP
- 方式一 使用 Composer 创建新项目(推荐):
- 进入站点目录:cd /var/www
- 创建项目(示例为 ThinkPHP 6):composer create-project topthink tp6
- 方式二 部署已有项目:
- 将项目上传至站点目录(如:/var/www/tp6),或
- wget https://example.comphp6.x.zip & & unzip thinkphp6.x.zip -d /var/www/tp6
- 安装依赖(如项目自带 composer.json):
- cd /var/www/tp6 & & composer install --optimize-autoloader --no-dev
- 目录权限(以 www-data 运行 PHP 为例):
- sudo chown -R www-data:www-data /var/www/tp6
- sudo find /var/www/tp6 -type d -exec chmod 755 { } ;
- sudo find /var/www/tp6 -type f -exec chmod 644 { } ; 说明:Composer 是官方推荐的依赖管理工具;部署后建议设置正确的目录权限以避免写入失败。
三 Web 服务器配置
- Nginx 配置(将站点根目录指向项目的 public 目录,示例为 /var/www/tp6/public):
- 编辑站点配置:sudo nano /etc/nginx/sites-available/tp6
- 示例配置:
- server {
- listen 80;
- server_name your_domain_or_ip;
- root /var/www/tp6/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:/run/php/php7.4-fpm.sock; # 按实际 PHP 版本调整
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- include fastcgi_params;
- }
- location ~ /.ht {
- deny all;
- }
- }
- server {
- 启用站点并重启:
- sudo ln -s /etc/nginx/sites-available/tp6 /etc/nginx/sites-enabled/
- sudo nginx -t & & sudo systemctl reload nginx
- Apache 配置(启用重写,DocumentRoot 指向 public):
- 启用模块:sudo a2enmod rewrite
- 编辑虚拟主机(如:/etc/apache2/sites-available/tp6.conf):
- <
VirtualHost *:80>
- ServerAdmin webmaster@localhost
- DocumentRoot /var/www/tp6/public
- <
Directory /var/www/tp6/public>
- Options Indexes FollowSymLinks
- AllowOverride All
- Require all granted
- ErrorLog ${ APACHE_LOG_DIR} /error.log
- CustomLog ${ APACHE_LOG_DIR} /access.log combined
- <
VirtualHost *:80>
- 启用站点并重启:
- sudo a2ensite tp6.conf
- sudo systemctl reload apache2 说明:ThinkPHP 的入口在 public/index.php,务必将 Web 根目录指向 public,并开启 URL 重写。
四 数据库与项目配置
- 创建数据库与用户(示例):
- mysql -u root -p
- CREATE DATABASE tp6 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- CREATE USER ‘tp6’@‘localhost’ IDENTIFIED BY ‘StrongPass!’;
- GRANT ALL PRIVILEGES ON tp6.* TO ‘tp6’@‘localhost’;
- FLUSH PRIVILEGES;
- EXIT;
- 配置项目数据库连接:
- 优先使用 .env(项目根目录)进行环境配置:
- DB_TYPE=mysql
- DB_HOST=127.0.0.1
- DB_NAME=tp6
- DB_USER=tp6
- DB_PWD=StrongPass!
- DB_PORT=3306
- DB_CHARSET=utf8mb4
- 如未使用 .env,可在配置文件(如 config/database.php 或 application/database.php)中设置相同参数。
- 优先使用 .env(项目根目录)进行环境配置:
- 初始化与验证:
- 开发环境可快速启动内置服务器:cd /var/www/tp6 & & php think run
- 浏览器访问:http://your_domain_or_ip,确认首页或接口正常 说明:ThinkPHP 支持 .env 与环境配置文件两种方式,生产环境建议使用 .env 管理敏感信息。
五 安全与常见问题
- 启用 HTTPS(Let’s Encrypt 免费证书,Apache 示例):
- sudo apt install -y certbot python3-certbot-apache
- sudo certbot --apache -d your_domain_or_ip
- 防火墙放行(如使用 UFW):
- Nginx:sudo ufw allow ‘Nginx Full’
- Apache:sudo ufw allow ‘Apache Full’
- 常见问题排查:
- 404/路由无效:确认 Nginx 的 try_files 指向 /index.php?$query_string,且站点根目录为 public
- 访问被拒绝或权限错误:检查目录属主为 www-data,权限 755/644
- 重写不生效(Apache):确认启用 mod_rewrite 且 Directory 配置 AllowOverride All
- 查看错误日志定位问题:
- Nginx:/var/log/nginx/error.log
- Apache:/var/log/apache2/error.log 说明:HTTPS 与防火墙是线上环境的基本安全措施;遇到异常优先查看对应服务日志。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian系统ThinkPHP框架安装指南
本文地址: https://pptw.com/jishu/776140.html
