准备3台服务器
关闭所有服务器防火墙和selinux
1、第一台服务器yum安装nginx
进入nginx子配置文件
配置nginx反向代理upstream;
upstream html {
server 10.36.192.136;
}
upstream php {
server 10.36.192.90;
}
#静态资源加载
location ~ .*\.(html|gif|jpg|png|bmp|swf|css|js)$ {
proxy_pass http://html;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#动态资源加载
location ~ \.html$ {
proxy_pass http://php;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
重启nginx服务
systemctl restart nginx
2、静态资源配置
第二台服务器yum安装nginx
启动nginx服务,查看网站是否可以访问
3、动态资源配置:
第三台服务器yum 安装php和nginx
进入nginx子配置文件编辑:
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php; #在index.htm 后添加index.php
}
location ~ \.php$ {
root /usr/share/nginx/html; #指定网站目录
fastcgi_pass 127.0.0.1:9000; #指定访问地址
fastcgi_index index.php; #指定默认文件
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #站点根目录,取决于root配置项 $document_root改为网站目录路径
include fastcgi_params; #包含nginx常量定义
}
}
当访问静态页面的时候location 匹配到 (html|jpg|png|js|css|gif|bmp|jpeg) 通过转发到静态服务器,静态服务通过location的正则匹配来处理请求。
当访问动态页面时location匹配到 .php 结尾的文件转发到后端php服务处理请求。
重启nginx服务
systemctl restart nginx
进入网站目录/usr/share/nginx/html下
cd /usr/share/nginx/html
删除原本文件: rm -rf *
创建一个index.php文件
echo “php” > index.php
nginx配置动静分离成功