在Linux系统中部署Laravel项目需要经过以下几个步骤:
在开始之前,请确保您的Linux系统已经安装了以下软件:
将您的Laravel项目文件上传到服务器。您可以使用FTP、SCP或其他文件传输方法。
在项目根目录下运行以下命令,以安装项目所需的PHP扩展和依赖:
composer install
复制.env.example
文件并将其重命名为.env
:
cp .env.example .env
使用文本编辑器打开.env
文件,然后配置数据库连接信息和其他相关设置。
运行以下命令生成Laravel应用密钥:
php artisan key:generate
这将在.env
文件中设置APP_KEY
值。
如果您的应用程序需要设置数据库表结构和初始数据,可以运行以下命令:
php artisan migrate
php artisan db:seed
根据您选择的Web服务器(Nginx或Apache),配置虚拟主机以指向Laravel项目的public
目录。以下是一个简单的Nginx配置示例:
server {
listen 80;
server_name example.com;
root /path/to/your/laravel/project/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;
}
}
确保将server_name
和root
指令更改为适当的值。
对于Nginx,运行:
sudo service nginx restart
对于Apache,运行:
sudo service apache2 restart
为了确保Laravel应用程序正常运行,您需要设置正确的文件权限。在项目根目录下运行以下命令:
sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 755 storage bootstrap/cache
这将使Web服务器用户(通常是www-data
)拥有storage
和bootstrap/cache
目录的所有权,并设置适当的权限。
现在,您的Laravel项目应该已经在Linux服务器上部署成功并可以访问了。如果遇到任何问题,请查看Laravel日志(位于storage/logs
目录下)以获取详细错误信息。