centos

centos lnmp如何实现动静分离

小樊
54
2025-07-10 20:30:03
栏目: 智能运维

在CentOS系统中实现LNMP(Linux, Nginx, MySQL, PHP)的动静分离,主要是通过配置Nginx来实现的。动静分离的基本思想是将动态请求和静态请求分开处理,动态请求由后端PHP-FPM处理,静态请求直接由Nginx返回。以下是实现动静分离的步骤:

1. 安装Nginx和PHP-FPM

首先,确保你已经安装了Nginx和PHP-FPM。如果没有安装,可以使用以下命令进行安装:

sudo yum install epel-release
sudo yum install nginx php-fpm

2. 配置Nginx

编辑Nginx的配置文件,通常位于/etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf。以下是一个基本的配置示例:

server {
    listen 80;
    server_name example.com;

    # 静态资源处理
    location /static/ {
        alias /path/to/your/static/files/;
        expires 30d;
        add_header Cache-Control "public";
    }

    # 动态请求处理
    location / {
        root /path/to/your/webroot;
        index index.php index.html index.htm;

        # 尝试匹配PHP文件
        try_files $uri $uri/ /index.php?$query_string;

        # PHP-FPM处理
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    }
}

3. 配置PHP-FPM

确保PHP-FPM正在运行,并且配置正确。你可以编辑/etc/php-fpm.d/www.conf文件来配置PHP-FPM:

listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
user = nginx
group = nginx

然后启动PHP-FPM:

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

4. 重启Nginx

最后,重启Nginx以应用配置更改:

sudo systemctl restart nginx

5. 测试配置

确保你的静态资源可以通过/static/路径访问,动态请求可以通过根路径/访问,并且PHP文件能够正确处理。

通过以上步骤,你就可以在CentOS系统中实现LNMP的动静分离。静态资源由Nginx直接处理,动态请求由PHP-FPM处理,从而提高网站的性能和响应速度。

0
看了该问题的人还看了