lnmp一键安装包直接下载安装,就能够了,在此很少说。php
虚拟机配置给个参考(lnmp安装包)css
server { listen 80; #listen [::]:80; server_name www.dtcode.cn dtcode.cn; index index.html index.htm index.php default.html default.htm default.php; set $root /home/wwwroot/laravel; root /home/wwwroot/laravel/public; #include other.conf; #error_page 404 /404.html; include enable-php.conf; location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index /index.php; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\. { deny all; } access_log /home/wwwlogs/laravel_log.log; }
而后运行出现 500 Internal Server Error ,到这个我就怕了,解决方法html
更改 laravel/storage 和 laravel/bootstrap/cache 权限为 777linux
同时修laravel改项目目录文件全限为 775,所属组 wwwlaravel
chown -R www laravel chmod -R 775 laravel
错误继续出现: chown: changing ownership of `question/public/.user.ini': Operation not permitted
bootstrap
发现root用户对该文件也没有-x执行权限。经过网上查找才知道,原来该文件被chattr锁定了。这里就了解了一下Linux的chattr和lsattr命令。 spa
这两个命令是用来查看和改变文件目录属性的,和chmod相比,chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的。而lsattr命令是显示chattr命令设置的文件属性。因此,这里须要使用chattr命令对.user.ini文件解锁 .net
解决办法,修改项目根目录,.user.ini文件 code
1.先给.user.ini 能够修改的权限 #chattr -i .user.ini 2.而后修改 # vi .use.ini 3.修改.use.ini内容 open_basedir=/home/wwwroot/default/laravel/public:/tmp/:/proc/ 改成 open_basedir=/home/wwwroot/default/laravel/:/tmp/:/proc/ 4.最后更改.user.ini权限为不能修改 #chattr +i .user.ini