CentOS 7 lnmp环境配置laravel项目的问题总结!

时间:2023-06-25 23:02:04
CentOS 7 lnmp环境配置laravel项目的问题总结!

一.最常见的几个问题

1.部署好站点后,访问站点的时候始终是“File Not Found”!(nginx中的路由配置问题)

2.除了根目录可以访问其它的访问全是403问题!(权限问题)

3.除了根目录可以访问其它的访问全是404问题!(路由问题)

4.在服务器日志里报错:FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream!(先考虑路由再考虑权限问题)

总结得出这几类问题的原因大致有三点

1.nginx的配置文件问题!

2.权限问题!

3.php-fpm.conf的配置问题!

二.我在配置项目中遇到的问题

1.第一次在nginx上配置项目,也是摸着石头过河!

首先我在之前搭建了lnmp的基础上已经实现了nginx和php-fpm的通信!

CentOS 7 lnmp环境配置laravel项目的问题总结!

CentOS 7 lnmp环境配置laravel项目的问题总结!

接下来我开始修改nginx配置文件的路由!配置项目!

CentOS 7 lnmp环境配置laravel项目的问题总结!

CentOS 7 lnmp环境配置laravel项目的问题总结!

根目录页可以访问,但是其它的全是报403错误!

CentOS 7 lnmp环境配置laravel项目的问题总结!

刚开始以为是路由问题,后面改了

location / {
            root /usr/local/nginx/html/gitdata/public;
            index index.html index.php index.htm;
            try_files $uri $uri/ /index.php?$query_string;
        }
但是还是403报错误!没办法 只能从权限着手!就给了根目录读写权限!问题就解决了!

CentOS 7 lnmp环境配置laravel项目的问题总结!

正确配置文件代码

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;
        }
    }