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