小编给大家分享一下Laravel项目部署到线上需要注意的问题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
准备部署Laravel应用到生产环境时,却出现了以下一些问题,你在本地上基本不会出现问题,但是到线上很多问题都出来了。整理了一些问题与错误,希望在你部署Laravel项目的时候,如果出现类似问题,可以用得到吧!部署不出现任何问题,那就再再好不过了。
首先,我们再做调试的时候,请先开启php显示错误,以便做调试
vim /usr/地方/php/etc/php . ini 修改 display_errors =, 改为 display_errors =,
改完后记得要重启服务器。
<强> 1目录权限问题强>
为了运行<代码> Laravel> 代码,我们需要为一些项目目录配置权限。
Laravel项目需要对目录<代码>存储/代码>,<代码>引导/缓存> 代码,,赋予读写权限
//赋予三个目录读写权限chmod -R 777年,引导/chmod -R 777年,存储/
如果你用的是一键安装包lnmp,请注意,lnmp一键安装包中含有<代码> .user。ini> 代码,权限会被拒绝。
需使用:
chattr 小姐;/{目录}/.user。ini
并删除:
rm .user.ini
?
<强> 2 Nginx的配置文件的问题强>
假设你的nginx.conf文件的路径是放在这里:<代码>/usr/地方/Nginx/conf/Nginx。参看代码>文件,找到服务器{}字段中
如下代码
# include enable-php.conf;
你的nginx里存不存在这个文件,请注释,因为这个会导致500错误。原因是:
引入了php配置,其中有句try_files开启就有报的错。
服务器{ ,,,listen 80; ,,,server_name 网站域名; ,,,index index.php index.html index.htm default.html default.htm default.php; ,,,root ,/var/www/html/行为/公共;,,,//网站存放目录,laravel的入口文件在公众里 ,,,# include 重写/none.conf; ,,,# error_page ,, 404,,,/html 404.; ,,,#,Deny access 用PHP files specific 拷贝目录 ,,,#位置~,/(wp-content |上传| wp-includes |图片)/. * \美元。php, {, deny ,,} ,,,# include enable-php-pathinfo.conf; ,,,#添加以下这句就好了 ,,,的位置/,{ ,,,,,,try_files uri 美元;$ uri/,/index . php ? query_string美元; ,,,} ,,,error_page 404年,html/404.; ,,,,,,,的位置=,/40 x.html { ,,,} ,,,error_page , 500, 502, 503, 504,/50 x.html; ,,,,,,,的位置=,/50 x.html { ,,,} ,,,的位置~,\美元。php, { ,,,,,,,,root /var/www/html/行为/公众; ,,,,,,,,fastcgi_pass 127.0.0.1:9000; ,,,,,,,,fastcgi_index index . php。 ,,,,,,,,fastcgi_param SCRIPT_FILENAME document_root fastcgi_script_name美元; ,,,,,,,,include fastcgi_params; ,,,}#,,,,if (! -e request_filename美元){#,,,,,,,,,rewrite ^/(mo_bile医生管理| | | |卖家)/(. *),美元/1美元/index . php ? 2美元;#,,,,} ,,,的位置~,\美元。php, { ,,,,,,,,,fastcgi_param PATH_INFO request_uri美元; ,,,} ,,,access_log ,/home/wwwlogs/hd.log;}
?
<强> 3 PHP扩展要记得开启强>
部署项目之前要先确保PHP。ini里的扩展已经开启,开启的扩展有:<代码> php_fileinfo 代码>,<代码> php_mbstring 代码>,<代码> php_openssl> 代码,这几个都是laravel需要的。
<强>不管是修改了nginx还是php。null null null null null null null