如何在Ubuntu上部署Laravel API
导读:在Ubuntu上部署Laravel API涉及几个步骤,包括安装必要的软件、配置Web服务器、设置数据库以及部署Laravel应用程序。以下是一个基本的指南: 1. 更新系统 首先,确保你的Ubuntu系统是最新的。 sudo apt up...
在Ubuntu上部署Laravel API涉及几个步骤,包括安装必要的软件、配置Web服务器、设置数据库以及部署Laravel应用程序。以下是一个基本的指南:
1. 更新系统
首先,确保你的Ubuntu系统是最新的。
sudo apt update
sudo apt upgrade -y
2. 安装Nginx
Nginx是一个高性能的HTTP和反向代理服务器。
sudo apt install nginx -y
3. 安装PHP和必要的PHP扩展
Laravel需要PHP和一些特定的PHP扩展。
sudo apt install php-fpm php-mysql php-curl php-json php-common php-mbstring php-zip php-gd -y
4. 配置PHP-FPM
编辑PHP-FPM配置文件以确保Nginx可以正确处理PHP请求。
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
找到以下行并取消注释:
;
listen = /run/php/php7.4-fpm.sock
改为:
listen = /run/php/php7.4-fpm.sock
保存并退出编辑器,然后重启PHP-FPM服务:
sudo systemctl restart php7.4-fpm
5. 配置Nginx
创建一个新的Nginx服务器块配置文件来处理你的Laravel应用程序。
sudo nano /etc/nginx/sites-available/yourdomain.com
添加以下内容(根据你的实际情况修改域名和项目路径):
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/yourdomain.com/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
保存并退出编辑器,然后创建一个符号链接以启用该配置:
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
测试Nginx配置是否正确:
sudo nginx -t
如果没有错误,重新加载Nginx:
sudo systemctl reload nginx
6. 设置数据库
安装并配置MySQL或MariaDB。
sudo apt install mysql-server -y
运行安全设置脚本:
sudo mysql_secure_installation
创建一个新的数据库和用户,并授予适当的权限:
CREATE DATABASE laravel_db;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;
7. 部署Laravel应用程序
将你的Laravel项目上传到服务器上的/var/www/yourdomain.com
目录。你可以使用SCP、SFTP或其他文件传输方法。
进入项目目录并安装依赖:
cd /var/www/yourdomain.com
composer install --no-dev --optimize-autoloader
复制.env.example
文件并重命名为.env
:
cp .env.example .env
nano .env
根据你的数据库配置修改.env
文件中的以下变量:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=your_password
生成应用密钥:
php artisan key:generate
运行迁移和数据填充(如果有):
php artisan migrate
php artisan db:seed
8. 设置文件权限
确保Laravel的storage
和bootstrap/cache
目录可写:
sudo chown -R www-data:www-data /var/www/yourdomain.com
sudo chmod -R 755 /var/www/yourdomain.com
sudo chmod -R 777 /var/www/yourdomain.com/storage
sudo chmod -R 777 /var/www/yourdomain.com/bootstrap/cache
9. 启动PHP-FPM和Nginx
确保PHP-FPM和Nginx服务正在运行:
sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm
sudo systemctl start nginx
sudo systemctl enable nginx
现在,你的Laravel API应该可以通过浏览器或API客户端访问了。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Ubuntu上部署Laravel API
本文地址: https://pptw.com/jishu/728438.html