在Linux上高效部署Laravel应用涉及多个步骤,包括安装必要的软件环境、配置Web服务器、设置数据库、优化性能等。以下是一个详细的指南:
sudo apt update && sudo apt upgrade -y
sudo apt install php php-fpm php-mysql php-curl php-mbstring php-xml php-zip php-gd php-bcmath
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# 安装Nginx
sudo apt install nginx
# 安装Apache
sudo apt install apache2
# 安装MySQL
sudo apt install mysql-server
# 安装PostgreSQL
sudo apt install postgresql postgresql-contrib
server {
listen 80;
server_name yourdomain.com;
root /path/to/your/laravel/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
root $root_path;
}
location ~ /\.ht {
deny all;
}
}
保存文件并重启Nginx:
sudo systemctl restart nginx
cd /var/www
git clone https://github.com/your-username/your-laravel-project.git
cd your-laravel-project
composer install --no-dev --optimize-autoloader
复制 .env.example
文件为 .env
,并配置数据库连接等信息:
cp .env.example .env
nano .env
生成应用密钥:
php artisan key:generate
php artisan migrate --force
php artisan config:cache
php artisan route:cache
php artisan view:cache
确保Laravel的 storage
和 bootstrap/cache
目录具有正确的权限:
sudo chown -R www-data:www-data /path/to/your/laravel/storage
sudo chown -R www-data:www-data /path/to/your/laravel/bootstrap/cache
sudo chmod -R 775 /path/to/your/laravel/storage
sudo chmod -R 775 /path/to/your/laravel/bootstrap/cache
配置缓存驱动(如Redis或Memcached)以缓存频繁访问的数据。
php artisan config:cache
使用Eager Loading预加载关联数据,减少查询次数。
安装并配置OPcache扩展,缓存编译后的PHP字节码。
sudo apt-get install php-opcache
在 php.ini
中配置:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
在 .env
文件中配置缓存驱动:
CACHE_DRIVER=redis
SESSION_DRIVER=redis
php artisan queue:work --daemon
为了提高安全性,建议为你的Laravel应用配置SSL证书,可以使用Let’s Encrypt免费获取。
通过以上步骤,你可以在Linux系统上成功部署和优化Laravel应用,从而提高开发效率和应用性能。