在Debian系统中管理多个Laravel项目,可以通过以下几个步骤来实现:
首先,确保你已经安装了PHP和相关的依赖包。你可以使用以下命令来安装它们:
sudo apt-get update
sudo apt-get install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
Composer是PHP的依赖管理工具,用于安装和管理Laravel项目所需的库。你可以使用以下命令来全局安装Composer:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
使用Composer创建新的Laravel项目。例如,创建一个名为project1
的新项目:
cd /var/www
sudo composer create-project --prefer-dist laravel/laravel project1
同样地,你可以为其他项目创建新的目录并运行相同的命令。
为每个Laravel项目配置Nginx。首先,为每个项目创建一个新的Nginx配置文件。例如,为project1
创建一个名为project1.conf
的配置文件:
sudo nano /etc/nginx/sites-available/project1.conf
在配置文件中添加以下内容:
server {
listen 80;
server_name example.com; # 替换为你的域名
root /var/www/project1/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 = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
保存并关闭文件。然后,创建一个符号链接以启用该站点:
sudo ln -s /etc/nginx/sites-available/project1.conf /etc/nginx/sites-enabled
重复以上步骤,为其他项目创建并配置Nginx。
每次更改Nginx配置后,都需要重启Nginx服务以使更改生效:
sudo systemctl restart nginx
确保Laravel项目的storage
和bootstrap/cache
目录具有适当的读写权限:
sudo chown -R www-data:www-data /var/www/project1
sudo chmod -R 755 /var/www/project1
sudo chmod -R 775 /var/www/project1/storage
sudo chmod -R 775 /var/www/project1/bootstrap/cache
重复以上步骤,为其他项目设置文件权限。
现在,你已经在Debian系统上成功管理了多个Laravel项目。你可以通过访问每个项目的域名来访问它们。