1. 程式人生 > >lnmp一鍵安裝包對laravel專案的部署配置

lnmp一鍵安裝包對laravel專案的部署配置

 前言:

   接觸lnmp一鍵安裝包,的確好用,但是我在配置laravel專案的時候,遇到了一些麻煩

問題:

   直接使用lnmp配置了下vhost下的虛擬機器目錄後,配置的是public目錄下,直接訪問laravel專案的時候,會出現如下錯誤:nginx   不能訪問或者  not  found

解決:

  上網找了下,原來是要配置下優雅連結: 

    location / {
                try_files $uri $uri/ /index.php?$query_string;
                  }

問題:現在laravel專案是可以訪問了,但是js,css,圖片的一些資原始檔不能訪問載入,又去找了找,原來http://www.story.com/public/default/css/font-awesome.min.css 

   多了一個public目錄,把它去掉就可以訪問資源了

  原來程式碼中也多了個  /public/default/css/........

@section('css') <link rel="stylesheet" href="/public/default/css/iCheck/square/blue.css">@endsection

解決:

 location /public{
             root  $prj_root;
           }

遇到  /public  的url訪問時候,直接跳轉到專案的根目錄下面,而不是public 目錄下面

最後:

  就可以訪問資原始檔了哦!

貼上下nginx的配置:

 server
    {
        listen 80;
        #listen [::]:80;
        server_name www.story.com;
        index index.html index.htm index.php default.html default.htm default.php;
        set $app_root /var/story/public;
        set $prj_root /var/story;
        root $app_root;

        include index.php.conf;
        #error_page   404   /404.html;
        include enable-php.conf;

    location /public{
             root  $prj_root;
        }
    location / {
                try_files $uri $uri/ /index.php?$query_string;
                  }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
           #expires      30d;
           root $prj_root;
        }
   location ~* ^/(css|img|js|flv|swf|download)/(.+)$ { 
            root /var/story;   #可以註釋掉
        }
  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 ~ .*\.(js|css)?$
     #    {
     #       expires      12h;
     #  }
        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/story.log.log;
    }


最後提醒下:

  如果

<link rel="stylesheet" href="/public/default/css/iCheck/square/blue.css">連線的路徑沒有  /public  的話,可以

location /public{
             root  $prj_root;
        }