温馨提示×

laravel在centos上如何使用Nginx

小樊
40
2026-01-05 23:43:35
栏目: 智能运维

在CentOS上使用Nginx与Laravel一起部署应用程序需要以下几个步骤:

  1. 安装Nginx

首先,确保已经安装了EPEL和Remi仓库。然后,使用以下命令安装Nginx:

sudo yum install epel-release
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install nginx

启动Nginx服务并设置开机启动:

sudo systemctl start nginx
sudo systemctl enable nginx
  1. 安装PHP-FPM

使用以下命令安装PHP-FPM:

sudo yum install php php-fpm php-mysqlnd php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath

编辑PHP-FPM配置文件(通常位于/etc/php-fpm.d/www.conf),将listen指令更改为:

listen = /run/php-fpm/php-fpm.sock

启动PHP-FPM服务并设置开机启动:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm
  1. 配置Nginx

创建一个新的Nginx配置文件,例如/etc/nginx/conf.d/laravel.conf,并添加以下内容:

server {
    listen 80;
    server_name example.com; # 替换为你的域名或公网IP

    root /path/to/your/laravel/project; # 替换为你的Laravel项目路径
    index index.php index.html index.htm;

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

    location ~ \.php$ {
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }

    location ~ /\.ht {
        deny all;
    }
}

确保将server_nameroot指令替换为你的域名和Laravel项目路径。

  1. 重启Nginx服务

运行以下命令以应用新的配置:

sudo systemctl restart nginx
  1. 设置文件权限

确保Nginx用户(通常是nginxwww-data)有权访问你的Laravel项目目录。运行以下命令:

sudo chown -R nginx:nginx /path/to/your/laravel/project
sudo chmod -R 755 /path/to/your/laravel/project
  1. 配置防火墙

如果你的服务器使用的是firewalld,请运行以下命令以允许HTTP和HTTPS流量:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

现在,你应该可以通过浏览器访问你的Laravel应用程序了。如果遇到任何问题,请检查Nginx和PHP-FPM的错误日志以获取更多信息。

0