在Debian系统上部署PHP应用通常涉及以下几个步骤:
-
更新系统包列表:
sudo apt update
-
安装必要的软件包: 安装Apache或Nginx作为Web服务器,以及PHP和相关的PHP扩展。
sudo apt install apache2 php libapache2-mod-php php-mysql
或者如果你选择使用Nginx:
sudo apt install nginx php-fpm php-mysql
-
配置Web服务器:
-
Apache: 编辑Apache的默认站点配置文件或创建一个新的站点配置文件。
sudo nano /etc/apache2/sites-available/your-site.conf
添加以下内容(根据你的应用需求调整):
ServerAdmin webmaster@localhost DocumentRoot /var/www/html/your-app Options Indexes FollowSymLinks AllowOverride All Require all granted ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined启用站点并重启Apache:
sudo a2ensite your-site.conf sudo systemctl restart apache2
-
Nginx: 编辑Nginx的默认站点配置文件或创建一个新的站点配置文件。
sudo nano /etc/nginx/sites-available/your-site
添加以下内容(根据你的应用需求调整):
server { listen 80; server_name your-domain.com; root /var/www/html/your-app; 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 ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx
-
-
部署PHP应用: 将你的PHP应用代码上传到服务器上的
/var/www/html/your-app
目录(或其他你配置的文档根目录)。 -
设置文件权限: 确保Web服务器用户(通常是
www-data
)有权访问你的应用文件。sudo chown -R www-data:www-data /var/www/html/your-app sudo find /var/www/html/your-app -type f -exec chmod 644 {} \; sudo find /var/www/html/your-app -type d -exec chmod 755 {} \;
-
重启Web服务器: 根据你使用的Web服务器,重启它以应用配置更改。
sudo systemctl restart apache2 # 如果是Apache sudo systemctl restart nginx # 如果是Nginx
-
配置数据库(如果需要): 如果你的应用需要数据库,安装并配置MySQL或PostgreSQL。
sudo apt install mysql-server
或者
sudo apt install postgresql postgresql-contrib
创建数据库和用户,并授予相应的权限。
-
运行数据库迁移和安装依赖: 根据你的应用需求,运行数据库迁移脚本和安装PHP依赖。
cd /var/www/html/your-app composer install # 如果你使用Composer管理PHP依赖 php artisan migrate # 如果你使用Laravel框架
完成以上步骤后,你的PHP应用应该已经在Debian系统上成功部署并可以访问了。