温馨提示×

laravel项目centos上如何部署Nginx

小樊
47
2025-08-28 17:14:51
栏目: 智能运维

在CentOS上部署Laravel项目并使用Nginx作为Web服务器,可以按照以下步骤进行:

1. 安装Nginx

首先,确保你的CentOS系统已经更新到最新状态:

sudo yum update -y

然后,安装Nginx:

sudo yum install epel-release -y
sudo yum install nginx -y

启动Nginx并设置开机自启动:

sudo systemctl start nginx
sudo systemctl enable nginx

2. 配置Nginx

编辑Nginx配置文件,通常位于 /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf。你可以创建一个新的配置文件来专门为Laravel项目服务。

例如,创建一个新的配置文件 /etc/nginx/conf.d/laravel.conf

sudo nano /etc/nginx/conf.d/laravel.conf

在文件中添加以下内容:

server {
    listen 80;
    server_name yourdomain.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$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; # 如果使用PHP-FPM
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

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

保存并退出编辑器,然后测试Nginx配置是否正确:

sudo nginx -t

如果没有错误,重新加载Nginx以应用更改:

sudo systemctl reload nginx

3. 安装PHP和PHP-FPM

确保你的系统上安装了PHP和PHP-FPM。你可以使用以下命令安装它们:

sudo yum install php php-fpm -y

启动PHP-FPM并设置开机自启动:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

4. 配置PHP-FPM

编辑PHP-FPM配置文件,通常位于 /etc/php-fpm.d/www.conf

sudo nano /etc/php-fpm.d/www.conf

找到以下行并取消注释(如果它们被注释掉了):

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

改为:

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

保存并退出编辑器,然后重启PHP-FPM:

sudo systemctl restart php-fpm

5. 设置文件权限

确保Laravel项目的存储目录和缓存目录具有正确的权限:

sudo chown -R nginx:nginx /path/to/your/laravel/project
sudo chmod -R 755 /path/to/your/laravel/project
sudo chmod -R 775 /path/to/your/laravel/project/storage
sudo chmod -R 775 /path/to/your/laravel/project/bootstrap/cache

6. 配置SELinux(可选)

如果你的系统启用了SELinux,可能需要配置它以允许Nginx访问Laravel项目的文件:

sudo setenforce 0 # 临时禁用SELinux(仅用于测试)

或者,你可以配置SELinux策略以允许Nginx访问Laravel项目的文件:

sudo chcon -Rt httpd_sys_content_t /path/to/your/laravel/project
sudo chcon -Rt httpd_sys_rw_content_t /path/to/your/laravel/project/storage

7. 测试部署

打开浏览器并访问你的域名或IP地址,你应该能够看到Laravel项目的欢迎页面。

通过以上步骤,你应该能够在CentOS上成功部署Laravel项目并使用Nginx作为Web服务器。

0