阅读量:1
以下是在Ubuntu环境下部署Laravel项目的核心步骤:
一、环境准备
- 更新系统
sudo apt update && sudo apt upgrade -y - 安装基础组件
- Nginx + PHP-FPM(推荐):
sudo apt install nginx php-fpm php-mysql php-gd php-mbstring php-curl php-xml - Apache + PHP(可选):
sudo apt install apache2 php libapache2-mod-php php-mysql sudo a2enmod rewrite
- Nginx + PHP-FPM(推荐):
- 安装Composer
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
二、部署Laravel项目
- 上传项目代码
- 通过Git克隆或直接上传至服务器目录(如
/var/www/your_project):git clone <仓库地址> /var/www/your_project
- 通过Git克隆或直接上传至服务器目录(如
- 安装依赖
cd /var/www/your_project composer install --optimize-autoloader --no-dev - 配置环境变量
- 复制
.env.example并修改为.env,设置数据库等参数:cp .env.example .env nano .env # 修改示例: DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_DATABASE=your_db DB_USERNAME=your_user DB_PASSWORD=your_password
- 复制
- 生成应用密钥
php artisan key:generate - 设置文件权限
sudo chown -R www-data:www-data storage bootstrap/cache sudo chmod -R 755 storage bootstrap/cache
三、配置Web服务器
Nginx配置
- 创建虚拟主机文件:
sudo nano /etc/nginx/sites-available/your_project - 添加以下内容(替换
your_domain和路径):server { listen 80; server_name your_domain.com; root /var/www/your_project/public; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; } location ~ /\.ht { deny all; } } - 启用配置并重启Nginx:
sudo ln -s /etc/nginx/sites-available/your_project /etc/nginx/sites-enabled sudo nginx -t sudo systemctl restart nginx
Apache配置
- 创建虚拟主机文件:
sudo nano /etc/apache2/sites-available/your_project.conf - 添加以下内容(替换
your_domain和路径)::80 > ServerName your_domain.com DocumentRoot /var/www/your_project/publicOptions Indexes FollowSymLinks AllowOverride All Require all granted - 启用配置并重启Apache:
sudo a2ensite your_project.conf sudo systemctl restart apache2
四、数据库与优化
- 创建数据库并导入数据
sudo mysql -u root -p CREATE DATABASE your_db; USE your_db; SOURCE /path/to/your_project/database.sql; # 如有需要 - 执行迁移
php artisan migrate - 优化性能(生产环境)
php artisan config:cache php artisan route:cache php artisan view:cache
五、安全与维护
- 启用SSL(可选)
使用Let’s Encrypt免费证书:sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d your_domain.com - 设置定时任务(如队列处理)
sudo crontab -e # 添加示例(每分钟处理队列): * * * * * php /var/www/your_project/artisan queue:work
关键参考
- Nginx配置:
- 环境变量管理:
- 权限设置:
以上就是关于“Ubuntu环境下Laravel项目如何部署”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm