基于Linux Centos7 实现nginx的代理服务器以及动静分离的方法和步骤
admin
2023-03-10 09:42:13
0

下文给大家带来基于Linux Centos7 实现nginx的代理云服务器以及动静分离的方法和步骤,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一个解答。

一:环境
准备一个nginx代理云服务器 三台http服务器两台处理静态和一台处理动态。(nginx/1.17.3)

二、在nginx主配置文件配置nginx反向代理upstream(地址池)指向真实服务器

         vim /etc/nginx/nginx.conf

在http标签中加

    upstream static {
    server 10.30.161.214:80 weight=2 max_fails=2 fail_timeout=2s;
    server 10.30.161.242:80 weight=2 max_fails=2 fail_timeout=2s;
    }   
    upstream php {
    server 10.30.161.241:80 weight=2 max_fails=2 fail_timeout=2s;   
    }

三、在子配置文件中

    vim /etc/nginx/conf.d/proxy.conf

1、动态资源加载
在server标签中添加

基于Linux Centos7 实现nginx的代理服务器以及动静分离的方法和步骤

    location ~ \.(php|jsp)$ {
    proxy_pass http://phpserver;
    #指向动态服务器地址池
    proxy_set_header Host $host:$server_port;
    #重新定义或者添加发往后端服务器的请求头$host真实服务器主机名$server_port端口
    proxy_set_header X-Real-IP $remote_addr;
    #启用客户端真实地址(否则日志中显示的是代理在访问网站)
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    #显示http请求端的真实IP
    }

2、静态资源加载

        location ~ .*\.(html|gif|jpg|png|bmp|swf|css|js)$ {
        proxy_pass http://static;
        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;
            }
        }

至此代理服务器配置完成

四、两台静态服务器的单独配置

    server {
    listen 80;
    server_name     localhost;

    location ~ \.(html|jpg|png|js|css|gif|bmp|jpeg) {
    root   /web1;
    index  index.html;
}

}
配置静态项目
静态服务器1

        mkdir /web1
        echo "this is jingtai11111" > /web1/index.html

静态服务器2

        mkdir /web1
        echo "this id jingtai22222" > /web1/index.html

五、一台动态服务器的单独配置

    yum 安装php7.1
[root@nginx-server ~]#rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
[root@nginx-server ~]#rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[root@nginx-server ~]#yum install php71w-xsl php71w php71w-ldap php71w-cli php71w-common php71w-devel php71w-gd php71w-pdo php71w-mysql php71w-mbstring php71w-bcmath php71w-mcrypt -y
[root@nginx-server ~]#yum install -y php71w-fpm
[root@nginx-server ~]#systemctl start php-fpm
[root@nginx-server ~]#systemctl enable php-fpm

编辑nginx的配置文件:

server {
        listen      80;
        server_name     localhost;
        location ~ \.php$ {
            root           /web1;  #指定网站目录
            fastcgi_pass   127.0.0.1:9000;    #指定访问地址
            fastcgi_index  index.php;       #指定默认文件
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; #站点根目录,取决于root配置项
            include        fastcgi_params;  #包含nginx常量定义
                }
        }

配置动态web1上项目

mkdir /web1
 cd /web1
 vim index.php 
 

六、测试
1,静态访问测试
用浏览器访问代理服务器IP  10.30.161.51/index.html
即可访问到静态服务器/web1上的项目,并且两台服务器来回切换,这就实现了nginx的代理和负载均衡

2,动态访问测试
用浏览器访问代理服务器IP  10.30.161.51/index.php
即可访问到动态服务器/web1上的项目,从而实现了nginx的动静分离

看了以上关于基于Linux Centos7 实现nginx的代理服务器以及动静分离的方法和步骤,如果大家还有什么地方需要了解的可以在行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,技术工程师在行业内拥有十几年的经验了。官网链接www.yisu.com

相关内容

热门资讯

台风“红霞”一日连跳三级,将深... 今天(26日)凌晨3点50分前后,今年第12号台风“红霞”以强台风级登陆广东惠州市惠东县平海镇沿海,...
台风“红霞”以巅峰强度在惠州登... 今年第12号台风“红霞”(强台风级)的中心已于26日03时50分前后在广东省惠州市惠东县平海镇登陆,...
直击台风“红霞”登陆:楼在动,... 7月26日凌晨4时,惠东县小径湾。记者此刻正在一栋临海高层楼房的客厅里,双腿微微发颤——不是因为冷,...
人民日报:查处携程垄断案释放反... 林丽鹂 《人民日报》(2026年07月26日 第02版)携程垄断案的查处是平台经济反垄断常态化监管的...
以总理计划向特朗普递交伊朗情报 △以色列总理内塔尼亚胡(资料图)当地时间7月25日,总台记者自以色列方面获悉,以总理内塔尼亚胡及其访...
原创 手... 以前购买的手机想要用3天不充电,基本上是不可能的,但这两年手机电池技术有大突破,非重度使用的情况下,...
咪咕数媒亮相第34届全国图书交... 潮新闻客户端 记者 王景平 7月24日,第34届全国图书交易博览会盛大举办。作为数字文化领域的核心央...
王兴兴和他的机甲机器人登上《时... 当地时间7月23日,宇树科技创始人兼首席执行官王兴兴与该公司突破性的载人机甲机器人GD01共同登上美...
APEC论坛聚焦亚太人工智能普... 这是7月23日在成都街头拍摄的会议主题装置。当日,2026年亚太经合组织(APEC)数字和人工智能部...
菲尔兹奖得主王虹4岁不慎烫伤,... 中国数学家王虹、邓煜获得菲尔兹奖,这是中国籍数学家首次获得这一奖项。王虹1991年出生在广西桂林平乐...