在CentOS上配置Nginx实现动静分离,通常涉及将静态内容(如HTML、CSS、JavaScript文件)和动态内容(如PHP、Python等脚本处理的结果)分别处理,以提高性能和可扩展性。以下是一个基本的步骤指南:
1. 安装Nginx
首先,确保你的CentOS系统上已经安装了Nginx。如果没有安装,可以使用以下命令进行安装:
sudo yum install epel-release sudo yum install nginx
2. 配置Nginx
编辑Nginx的配置文件,通常位于 /etc/nginx/nginx.conf
或 /etc/nginx/conf.d/
目录下的某个文件。以下是一个示例配置,假设我们将静态内容放在 /var/www/html
目录,动态内容通过PHP处理,并且使用FastCGI来处理PHP请求。
server { listen 80; server_name example.com; # 静态内容处理 location /static/ { alias /var/www/html/; expires 30d; } # PHP处理 location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # 其他请求处理 location / { try_files $uri $uri/ @rewrite; } # 重写规则 location @rewrite { rewrite ^/(.*)$ /index.php?$1 last; } }
3. 配置PHP-FPM
确保你已经安装了PHP-FPM,并且它正在运行。如果没有安装,可以使用以下命令进行安装:
sudo yum install php-fpm sudo systemctl start php-fpm sudo systemctl enable php-fpm
编辑PHP-FPM的配置文件,通常位于 /etc/php-fpm.d/www.conf
或 /etc/php-fpm.conf
。确保监听端口或Unix socket与Nginx配置中的 fastcgi_pass
一致。
[www] listen = 127.0.0.1:9000 listen.owner = nginx listen.group = nginx
4. 重启服务
保存所有配置文件后,重启Nginx和PHP-FPM服务以应用更改:
sudo systemctl restart nginx sudo systemctl restart php-fpm
5. 测试配置
打开浏览器,访问你的服务器IP地址或域名,确保静态内容能够正确加载,动态内容能够通过PHP处理并返回正确的结果。
总结
通过上述步骤,你可以在CentOS上配置Nginx实现动静分离。静态内容通过Nginx直接处理,而动态内容则通过PHP-FPM处理。这种架构可以提高网站的性能和可扩展性。