在Debian系统上部署PHP应用通常涉及以下几个步骤:
sudo apt update
安装必要的软件包:
sudo apt install apache2 php libapache2-mod-php php-mysql
或者如果你选择使用Nginx:sudo apt install nginx php-fpm php-mysql
配置Web服务器:
Apache:
sudo nano /etc/apache2/sites-available/your-site.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/your-app
<Directory /var/www/html/your-app>
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 your-site.conf
sudo systemctl restart apache2
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:/run/php/php7.4-fpm.sock;
# 根据你的PHP版本调整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
sudo ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
部署PHP应用:
/var/www/html/your-app 目录(或其他你配置的文档根目录)。设置文件权限:
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服务器:
sudo systemctl restart apache2 # 如果是Apache
sudo systemctl restart nginx # 如果是Nginx
配置数据库(如果需要):
sudo apt install mysql-server
或者sudo apt install postgresql postgresql-contrib
# 对于MySQL
sudo mysql_secure_installation
# 对于PostgreSQL
sudo -u postgres psql
CREATE DATABASE your_database;
CREATE USER your_user WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE your_database TO your_user;
\q
运行数据库迁移和安装依赖:
cd /var/www/html/your-app
composer install # 如果你使用Composer管理PHP依赖
php artisan migrate # 如果你使用Laravel框架
完成以上步骤后,你的PHP应用应该已经在Debian系统上成功部署并可以访问了。