• Nginx部署


    Nginx

    1.负载均衡

    当用户访问量非常大时,我们需要使用多台Tomcat来构成集群,由Nginx负责将负载分摊到每一台Tomcat服务器上。

    2.Tomcat集群搭建

    搭建Tomcat集群的基本思路是把Tomcat解压目录复制多份,然后让每一份Tomcat分别使用不同端口号即可。启动时分别进入自己的bin目录执行startup.sh即可。需要修改端口号的文件是server.xml,具体位置如下:

     22 <Server port="8005" shutdown="SHUTDOWN">
    
     71 <Connector port="8080" protocol="HTTP/1.1"
    
     93 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    

    3.Nginx简介

    产地 俄罗斯
    父亲 Igor Sysoev
    开发语言 C
    生日 第一个公开版本0.1.0发布于2004年10月4日
    特长 能够支撑5万并发,CPU、内存资源占用小,运行稳定

    4.Nginx服务器安装

    ①准备工作

    需要gcc-c++支持,如果未安装,则执行yum install -y gcc-c++

    yum install -y pcre pcre-devel
    yum install -y zlib zlib-devel
    yum install -y openssl openssl-devel
    

    PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 Perl 兼容的正则表达式库。Nginx的HTTP模块使用PCRE来解析正则表达式,所以需要在Linux上安装PCRE库。pcre-devel是使用PCRE开发的一个二次开发库。Nginx也需要这个库。

    zlib库提供了很多种压缩和解压缩的方式,Nginx使用zlib对HTTP包的内容进行gzip,所以需要在Linux上安装zlib库。

    OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
    nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

    ②编译安装

    [1]第一步:创建目录

    mkdir -p /var/temp/nginx/client
    

    [2]第二步:上传并解压

    tar -zxvf nginx-1.8.0.tar.gz
    

    [3]第三步:生成Makefile文件

    进入解压目录
    ./configure 
    --prefix=/usr/local/nginx 
    --pid-path=/var/run/nginx/nginx.pid 
    --lock-path=/var/lock/nginx.lock 
    --error-log-path=/var/log/nginx/error.log 
    --http-log-path=/var/log/nginx/access.log 
    --with-http_gzip_static_module 
    --http-client-body-temp-path=/var/temp/nginx/client 
    --http-proxy-temp-path=/var/temp/nginx/proxy 
    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi 
    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi 
    --http-scgi-temp-path=/var/temp/nginx/scgi
    

    [4]第四步:编译

    make
    

    [5]第五步:安装

    make install
    

    5.Nginx服务器基本操作

    操作 命令 备注
    启动 /usr/local/nginx/sbin/nginx
    退出 /usr/local/nginx/sbin/nginx -s quit 正常关闭Nginx,推荐使用
    停止 /usr/local/nginx/sbin/nginx -s stop 相当于杀死Nginx进程,不推荐使用
    重启 /usr/local/nginx/sbin/nginx -s quit
    /usr/local/nginx/sbin/nginx
    重新加载配置文件 /usr/local/nginx/sbin/nginx -s reload

    6.反向代理

    ①正向代理

    情景:在一个局域网中,只有一台计算机可以接入互联网。其他计算机通过这台计算机间接接入互联网。

    ②反向代理

    正向代理 反向代理
    为浏览器进行代理 为服务器进行代理

    7.负载均衡配置

    ①配置域名

    使用SwitchHosts工具设置www.balance.com域名到Linux主机地址的对应关系

    ②配置负载均衡

    117     upstream balance {
    118         server 192.168.10.164:8180;
    118         server 192.168.10.164:8280;
    119     }
    120     server {
    121         listen       80;
    122         server_name  www.balance.com;
    123 
    124         location / {
    125                 proxy_pass http://balance;
    126                 index  index.html index.htm index.jsp;
    127         }
    128     }
    

    8.解决重启后找不到pid文件问题

    mkdir /usr/local/nginx/logs
    

    修改Nginx配置文件:

    #pid logs/nginx.pid;
    pid  /usr/local/nginx/logs/nginx.pid;
    
  • 相关阅读:
    valgrind试用笔记
    《c++ primer》3.5 array 小结
    《c++ primer》chap8 The IO library 小结
    《c++ primer》3.4 迭代器(iterator)
    《c++ primer》3.1 声明命名空间 小结
    c++ 流格式控制符
    《c++ primer》3.3 vector 类型小结
    《c++ primer》3.2 string 小结
    Ubuntu 管理相关小知识(不定期更新)
    shell 脚本 生成文件,文件名为日期时间
  • 原文地址:https://www.cnblogs.com/code-duck/p/13226777.html
Copyright © 2020-2023  润新知