在Linux上部署Laravel项目通常涉及以下几个步骤:
安装必要的软件:
上传项目文件:
/var/www/your_project。设置文件权限:
sudo chown -R www-data:www-data /var/www/your_project
sudo chmod -R 755 /var/www/your_project
sudo chmod -R 777 /var/www/your_project/storage
sudo chmod -R 777 /var/www/your_project/bootstrap/cache
配置环境变量:
.env文件,并根据你的服务器环境配置相应的变量,例如数据库连接信息、APP_NAME等。.env文件的权限设置正确,以防止敏感信息泄露:chmod 600 /var/www/your_project/.env
安装依赖:
composer install
生成应用密钥:
php artisan key:generate
运行数据库迁移:
php artisan migrate
配置Web服务器:
对于Nginx,你可能需要一个像这样的配置:
server {
listen 80;
server_name your_domain.com;
root /var/www/your_project/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;
}
}
对于Apache,你可能需要启用mod_rewrite并配置一个像这样的虚拟主机:
<VirtualHost *:80>
ServerName your_domain.com
DocumentRoot /var/www/your_project/public
<Directory /var/www/your_project/public>
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
重启Web服务器:
sudo systemctl restart nginx
或者sudo systemctl restart apache2
运行队列工作(如果需要):
php artisan queue:work
设置定时任务(如果需要):
php artisan schedule:run。以上步骤应该可以帮助你在Linux服务器上部署Laravel项目。根据你的具体需求和环境,可能还需要进行一些额外的配置。