在Debian上部署Laravel项目可以通过以下步骤简化流程:
首先,确保你的系统是最新的:
sudo apt update
sudo apt upgrade
安装Nginx、PHP及PHP-FPM、MySQL和Composer:
sudo apt install nginx php php-cli php-common php-json php-gmp php-fpm php-xmlrpc php-bcmath php-imagick php-curl php-zip php-gd php-mysql php-xml php-mbstring php-xmlrpc php-intl php-sqlite3
检查PHP是否安装成功:
php -v
配置PHP-FPM:
sudo systemctl status php8.2-fpm
安装MariaDB或MySQL数据库:
sudo apt install mariadb-server
在安装过程中,系统会提示你设置root密码,请选择一个强密码并确保其安全。
选择一个目录用于存放Laravel项目,并使用Composer创建新项目:
cd /home/david
composer create-project laravel/laravel example-app
在 /etc/nginx/conf.d
目录下创建一个新的配置文件,例如 example-app.conf
,并添加以下内容:
server {
listen 80;
listen [::]:80;
server_name example-app.local;
root /home/david/example-app/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
location / {
try_files uri uri / /index.php?query_string;
}
location \.php {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}
location /\.ht {
deny all;
}
}
替换 example-app.local
为你的域名,并确保Nginx配置文件指向正确的Laravel项目目录。
最后,重启Nginx服务以应用新的配置:
sudo systemctl restart nginx
sudo ufw allow 'Nginx Full'
如果你希望进一步简化部署流程,可以使用Docker。以下是一个基本的Docker部署示例:
安装Docker:确保你已经安装了Docker。
创建Dockerfile:
FROM php:7.4-apache
RUN docker-php-ext-install mysqli pdo pdo_mysql
WORKDIR /var/www/html
COPY . .
RUN chown -R www-data:www-data /var/www/html
EXPOSE 80
CMD ["apache2-foreground"]
version: '3'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- .:/var/www/html
docker-compose up -d
等待一段时间,直到容器完全启动。然后,在浏览器中访问 http://localhost:8080
,你应该能够看到Laravel应用程序的欢迎页面。
通过以上步骤,你可以在Debian上成功部署Laravel项目,并根据需要选择是否使用Docker来进一步简化部署流程。