CentOS 7 lnmp環境配置laravel項目的問題總結!

一.最多見的幾個問題php

1.部署好站點後,訪問站點的時候始終是「File Not Found」!(nginx中的路由配置問題)html

2.除了根目錄能夠訪問其它的訪問全是403問題!(權限問題)nginx

3.除了根目錄能夠訪問其它的訪問全是404問題!(路由問題)git

4.在服務器日誌裏報錯:FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream!(先考慮路由再考慮權限問題)服務器

總結得出這幾類問題的緣由大體有三點app

1.nginx的配置文件問題!tcp

2.權限問題!php-fpm

3.php-fpm.conf的配置問題!spa

二.我在配置項目中遇到的問題日誌

1.第一次在nginx上配置項目,也是摸着石頭過河!

首先我在以前搭建了lnmp的基礎上已經實現了nginx和php-fpm的通訊!

 

接下來我開始修改nginx配置文件的路由!配置項目!

 

 根目錄頁能夠訪問,可是其它的全是報403錯誤!

剛開始覺得是路由問題,後面改了

 location / {
            root /usr/local/nginx/html/gitdata/public;
            index index.html index.php index.htm;
            try_files $uri $uri/ /index.php?$query_string;
        }
可是仍是403報錯誤!沒辦法 只能從權限着手!就給了根目錄讀寫權限!問題就解決了!

 

正確配置文件代碼

user  www;
worker_processes  auto;
worker_rlimit_nofile 204800;
error_log  /var/log/nginx/error.log;開啓錯誤日誌
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log;開啓訪問日誌
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    server {
  listen       80;
        server_name localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root /usr/local/nginx/html/gitdata/public;必定要配置好不然會出現404
            index index.html index.php index.htm;
            try_files $uri $uri/ /index.php?$query_string;#實現美化連接的功能:必需要有不然會出現404問題!
        }
        error_page  404              /404.html;    

  location = /40x.html {

    root         /usr/local/nginx/html;
      }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {

    root         /usr/local/nginx/html;
        }
        location ~ \.php$ {
            root /usr/local/nginx/html/gitdata/public;必定要配置好不然會出現File Not Found            #fastcgi_split_path_info ^(.+\.php)(/.+)$;無關緊要            fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;           #fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html/gitdata/public$fastcgi_script_name; 二選一            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            include        fastcgi_params;        }        location ~ /\.ht {            deny  all;        }    }

相關文章
相關標籤/搜索