laravel项目 在linux上的nginx配置,以及注意问题
首先,我这里linux用的是:centos 7.2 ,下面进入正文
假定服务器lnmp环境已经配置好,可以参照我另一篇博文
laravel项目,我是放在nginx的html文件夹下,nginx需要改动的地方就只有一个,即root,配置到laravel项目的public文件夹
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html/此处是你的项目名/public;
location / {
try_files $uri $uri/ /index.php?$query_string;
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
遇到的问题:
如果访问ip,或者虚拟机依旧无法打开网站,显示500错误(500即服务器错误)
当然,大家也可以到nginx的错误日志里去看具体原因(位置:/var/log/nginx/error.log)
第一次配置laravel,基本上问题都是vendor,storage文件夹权限问题
解决办法:修改项目中vendor、storage文件夹的权限
在这之前,先看看nginx和php-fpm 在linux中的用户,nginx在安装的时候会自动创建nginx的用户和用户组,nginx的运行用户同样是写在conf配置文件里,每个人的配置文件地址可能不一样,我安装后修改使用的默认的配置文件(/etc/nginx/nginx.conf)
里面应该有这一句“user nginx; ”,表示以nginx用户运行nginx
如果nginx配置文件里没有这句话,加上
之后,查看php-fpm的用户,同样改成nginx
位置:/etc/php-fpm.d/www.conf,如下图
最后,进入laravel项目目录,执行:
chown -R nginx:nginx vendor //意思是:vendor文件夹的所有者修改为nginx
chown -R nginx:nginx storage //意思是:storage文件夹的所有者修改为nginx
这样,laravel项目就可以随意访问了,亲测有效( 或者更简单粗暴的方式是将laravel项目文件夹都给权限,不过这样不安全 )
更多推荐
所有评论(0)