ubuntu

Laravel在Ubuntu上如何部署应用

小樊
55
2025-09-08 21:28:25
栏目: 智能运维

在Ubuntu上部署Laravel应用需要经过以下几个步骤:

  1. 安装必要的软件包

首先,确保你的Ubuntu系统已经安装了以下软件包:

你可以使用以下命令安装这些软件包:

sudo apt-get update
sudo apt-get install nginx php-fpm php-mysql composer
  1. 配置Nginx

创建一个新的Nginx配置文件,用于指向你的Laravel应用:

sudo nano /etc/nginx/sites-available/yourdomain.com

将以下内容粘贴到文件中,然后替换yourdomain.com为你的域名:

server {
    listen 80;
    server_name yourdomain.com;
    root /var/www/yourdomain.com/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;
    }
}

保存并退出文件。然后创建一个符号链接,将新配置文件链接到sites-enabled目录:

sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled

检查Nginx配置文件是否有语法错误:

sudo nginx -t

如果没有错误,重启Nginx服务:

sudo systemctl restart nginx
  1. 部署Laravel应用

将你的Laravel应用上传到服务器上的/var/www/yourdomain.com目录。你可以使用SCP、SFTP或其他文件传输方法。

进入应用目录,运行以下命令安装PHP依赖:

cd /var/www/yourdomain.com
composer install --no-dev --optimize-autoloader

.env.example文件复制为.env

cp .env.example .env

编辑.env文件,填写数据库连接信息和其他配置。

生成应用密钥:

php artisan key:generate

运行以下命令优化Laravel性能:

php artisan config:cache
php artisan route:cache
php artisan view:cache
  1. 配置权限

确保storagebootstrap/cache目录可写:

sudo chown -R www-data:www-data /var/www/yourdomain.com/storage
sudo chown -R www-data:www-data /var/www/yourdomain.com/bootstrap/cache
  1. 重启PHP-FPM服务

最后,重启PHP-FPM服务以应用更改:

sudo systemctl restart php7.4-fpm

现在,你的Laravel应用应该已经在Ubuntu服务器上部署成功并可以访问了。

0
看了该问题的人还看了