• nginx反向代理与负载均衡


    1.nginx和apache的对比

    nginx是轻量级服务器,apache是重量级服务器

    nginx适合处理静态页面,apache比较适合动态页面

    nginx抗并发能力比较好

    apache稳定性比较好

     

    2.nginx下载

    添加epel网络源

    [local]
    
    name=local
    
    enabled=1
    
    gpgcheck=0
    
    baseurl=file:///mnt
    
    [epel]
    
    name=epel
    
    enabled=1
    
    gpgcheck=0
    
    baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
    
     
    
    yum install nginx -y

    启动nginx,需要关闭占用80端口的程序

     

    3.nginx配置文件

    vim /etc/nginx/nginx.conf
    
    192.168.64.4
    
    location/admin{
    
     
    
    }
    
    192.168.64.4/admin

     

    4.匹配规则

    =

    ^~#一般匹配一个目录

    ~#区分大小写

    ~*#不区分大小写

    /admin

     

    5.反向代理(动静分离)

    192.168.64.4主服务器

    192.168.64.5静态节点

    192.168.64.7动态节点

    root   /var/www/html;(网站根目录)

    index   index.html;(默认首页文件)

    1)在主服务器上部署nginx并设置动静分离规则

    location ~html$ {
    
    proxy_pass  http://192.168.64.5;   (静态节点)
    
    }
    
    location ~php$ {
    
    proxy_pass  http://192.168.64.7;   (动态节点)
    
    }

    2)检查语法重启Nginx

    nginx -t
    
    systemctl restart nginx

    3)配置静态服务器

     略

    4)配置动态服务器

    [root@ken html]# yum install php httpd -y
    
    vim /var/www/html/index.php
    
     <?php
    
    phpinfo();
    
    ?>

    5)主服务器设置

    location  /admin{
    
    proxy_pass http://192.168.64.4;
    
    }

    不完全代理:

    如果不加斜线上面location表示的含义是请求http://192.168.64.4/admin,这样的话在客户端admin文件或者目录必须存在!

    完全代理:

    如果加斜杆上面location表示的含义是请求http://192.168.64.4/admin,但是在客户端admin文件或者目录不需要存在!

    6.负载均衡

    主要参数:

    weight:服务器权重

    max_fails:设置连续几次转发失败就认为该节点出现故障,就不再向该节点发送用户请求

    fail_timeout:设置等待上游服务器响应超时时间(默认单位为秒)

    upstream ken{
    
    server 192.168.64.4 weight=5 max_fails=2 fail_timeout=3;
    
    server 192.168.64.5 weight=5 max_fails=2 fail_timeout=3;
    
    }        

    配置文件中修改:

    location  / {
    
    proxy_passhttp://ken;
    
    }
    
    server {
    
    root   /var/www/html;
    
    index  index.html;
    
    }

    7.LNMP架构上线网站

    1)下载所需安装包

    yum  install  php php-mysql nginx mariadb-server php-fpm   -y

    2)修改配置文件

    server {
    
    listen 80 default_server;
    
    listen [::]:80 default_server;
    
    server_name _;
    
    root /var/www/html;
    
    index index.php index.html;
    
     
    
    # Load configuration files for the default server block.
    
    include /etc/nginx/default.d/*.conf;
    
    location / {
    
    }
    
    location ~ php$ {
    
    fastcgi_pass 127.0.0.1:9000;
    
    include fastcgi.conf;
    
    }

    3)数据库配置文件:

    [root@kenhtml]#cp wp-config-sample.php wp-config.php
    
    [root@kenhtml]#vim wp-config.php
    
    /**WordPress数据库的名称*/
    
    define(‘DB_NAME’,‘litong’);
    
    /**MySQL数据库用户名*/
    
    define(‘DB_USER’,‘litong’);
    
    /**MySQL数据库密码*/
    
    define(‘DB_PASSWORD’,‘123’);

    4)配置数据库

    create database ken;
    
    grant all on*.*to ken@’localhost’ identified by ‘123’;
  • 相关阅读:
    Python笔记-面向对象编程
    大学课后答案微信小程序项目实践(1)
    用weexplus从0到1写一个app(2)-页面跳转和文章列表及文章详情的编写
    react基础学习和react服务端渲染框架next.js踩坑
    基于weex的app开发脚手架weexplus学习笔记
    用weexplus从0到1写一个app
    Vue与React两个框架的区别对比
    mpvue学习笔记-之微信小程序数据请求封装
    Flutter/Dart import导入文件关键字总结
    55个提高你CSS开发效率的必备片段(转自:前段日刊)
  • 原文地址:https://www.cnblogs.com/Agnostida-Trilobita/p/11141802.html
Copyright © 2020-2023  润新知