在Ubuntu上部署Laravel应用需要经过以下几个步骤:
首先,确保你的Ubuntu系统已经安装了以下软件包:
你可以使用以下命令安装这些软件包:
sudo apt-get update
sudo apt-get install nginx php-fpm php-mysql composer
创建一个新的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
将你的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
确保storage和bootstrap/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
最后,重启PHP-FPM服务以应用更改:
sudo systemctl restart php7.4-fpm
现在,你的Laravel应用应该已经在Ubuntu服务器上部署成功并可以访问了。