Centos下Nginx的介绍、安装以及相关的基本操作

  1. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。Nginx能够支持高达5万个并发连接的响应。

  2. Nginx的优点:

    1. 占用内存小,可以实现高并发访问、处理响应快
    2. 可以实现http服务器、虚拟主机、反向代理、负载均衡
    3. Nginx配置简单
    4. 可以不暴露真实服务器IP地址
  3. 在Windows下搭建Tomcat集群

    1. 准备两个Tomcat安装包和一个Nginx的windows版的安装包(本机ip地址为192.168.18.132)

    2. 分别修改两个Tomcat的配置文件 apache-tomcat-9.0.16-01\conf\server.xml,使两个Tomcat在启动的时候端口不会冲突,具体修改的内容如下:

      第一个Tomcat

      <Server port="8006" shutdown="SHUTDOWN">
           <Connector port="8081" protocol="HTTP/1.1"
                     connectionTimeout="20000"
                     redirectPort="8443" />
          <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
      

      第二个Tomcat

      <Server port="8007" shutdown="SHUTDOWN">
          <Connector port="8082" protocol="HTTP/1.1"
                     connectionTimeout="20000"
                     redirectPort="8443" />
          <Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />
      
    3. 在两个Tomcat 的 apache-tomcat-9.0.16-01\webapps\ROOT 下分别放入一个HTML文件用作测试

      第一个Tomcat

      <!DOCTYPE html>
      <html lang="en">
      <head>
      	<meta charset="UTF-8">
      	<title>Document</title>
      </head>
      <body>
      	<h1>8081 第一台服务器</h1>
      </body>
      </html>
      

      第二个Tomcat

      <!DOCTYPE html>
      <html lang="en">
      <head>
      	<meta charset="UTF-8">
      	<title>Document</title>
      </head>
      <body>
      	<h1>8082 第二台服务器</h1>
      </body>
      </html>
      
    4. 修改Nginx的配置文件 nginx-1.16.0\conf\nginx.conf,修改内容如下

      1. 在配置项server的上面添加下面的内容

        upstream serverlist	{
            server 192.168.18.132:8081;
            server 192.168.18.132:8082;
        }
        
      2. 在配置项server的location / 下做如下的修改

        location / {
            #root   html;   #注释该配置项
            #index  index.html index.htm;  #注释该配置项
            proxy_pass http://serverlist;  #添加该配置项
        }
        
      3. 启动Nginx, 用命令行切换到Nginx安装目录下面,执行nginx.exe,如果在启动的过程中发现80端口被占用,可以通过修改Nginx的默认端口号或者杀掉占用80端口的进程。

      4. 修改Nginx的默认端口号的方法为,修改nginx.conf的配置项server下的listen,例如

        listen 8083;
        
      5. 重新启动Nginx,访问 http://localhost:8083/ , 就会发现每次访问的Tomcat 都会切换。

  4. Centos安装Nginx

    1. 安装Linux相关依赖

      yum install pcre pcre-deval
      yum install gcc gcc-c++ ncurses-devel perl
      yum -y install make gcc gcc-c++ ncurses-devel 
      yum -y install openssl openssl—devel
      
    2. 准备安装

      yum -y install wget
      wget http://nginx.org/download/nginx-1.15.10.tar.gz   #下载nginx安装包
      tar -zxvf nginx-1.15.10.tar.gz   #解压nginx安装包
      
    3. 隐藏nginx版本号

      cd nginx-1.15.10
      vi /nginx-1.15.10/src/core/nginx.h
      

      将版本号1.15.10修改为其他内容,例如TWS字母,否则在nginx出错的时候,会在页面上暴露nginx的版本号。

    4. 配置nginx安装环境

      cd nginx-1.15.10  #进入nginx解压目录
      ./configure --prefix=/usr/local/nginx  #配置安装目录
      make         #编译文件
      make install #安装编译后的文件
      

      安装结束后,nginx被安装在了/usr/local/nginx下

    5. 启动nginx

      cd /usr/local/nginx/sbin/
      ./nginx 
      
    6. 在浏览器上面访问下面的地址 http://192.168.18.177:80 出现下面的页面,说明nginx成功启动

  5. nginx目录结构

    conf配置文件
    html网页文件
    logs日志文件
    sbinnginx执行程序
  6. 查看nginx的进程pid

    1. 在 /usr/local/nginx/logs 下,查看nginx.pid文件

    2. ps -ef|grep nginx(master为主进程,worker为工作进程)

  7. nginx中两种进程的关系

  8. 在nginx服务的启停方法中,有一种是通过信息机制来实现nginx的控制,具体信息如下

    信号作用
    TERM或INT立刻退出,快速停止Nginx服务
    QUIT等待工作进程结束后再退出,平缓停止Nginx服务
    KILL强制终止进程
    HUP重新加载配置文件,使用新的配置启动工作进程,并逐步关闭旧进程,也就是所谓的“平滑重启”
    USR1重新打开日志文件,常用于日志切割
    USR2启动新的主进程,实现热升级。即使用新版本的Nginx文件启动服务,之后平缓停止原有Nginx进程,也就是所谓的“平滑升级”。
    WINCH逐步关闭工作进程,平缓停止worker process,用于Nginx服务平滑升级
  9. nginx.conf中配置项的说明

    1. worker_processes 1; #工作进程的数量
  10. 启动Nginx服务

    ./nginx -t   #检查配置是否能正常启动,/usr/local/nginx/conf/nginx.conf test is successful表示测试通过
    ./nginx -c /usr/local/nginx/conf/nginx.conf  #启动Nginx
    ps -ef|grep nginx  #查看Nginx是否正常启动
    netstat -tunlp     #检查80端口有没有被占用
    http://192.168.18.177/  #在浏览器访问服务器ip地址,检查Nginx是否正常启动
    
  11. 快速停止Nginx服务

    kill -TERM 9828  #立即关闭Nginx进程
    
  12. 平滑停止Nginx服务(两种方式),平滑停止是指Nginx只处理当前已接收到的网络请求,但不再接收新的请求,之后关闭连接,停止工作。

    kill -QUIT 9838
    ./nginx -s quit
    
  13. 停止Nginx服务(效果与快速停止Nginx服务一样)

    ./nginx -s stop
    
  14. kill的方式(不推荐)

    kill -9 pid
    
  15. Nginx服务重启(重新加载配置文件)(两种方式)

    kill -HUP 9869
    ./nginx -s reload
    
  16. Nginx平滑升级,在不停止服务的情况下升级Nginx的版本

  17. 查看当前Nginx的版本

    ./nginx -v
    
  18. 备份原Nginx二进制文件

    cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_$(date +%F)
    
    
  19. 下载并安装最新的Nginx安装包

    wget http://nginx.org/download/nginx-1.17.0.tar.gz
    tar -zxvf nginx-1.17.0.tar.gz
    cd nginx-1.17.0
    ./configure --prefix=/usr/local/nginx
    make&make install
    
  20. 向主进程发送USR2信号,Nginx会启动一个新版本的Master进程和工作进程,和旧版一起处理请求

    kill -USR2 9869
    
  21. 向主进程发送WITCH信号,它会逐步关闭旗下的工作进程(主进程不退出),这是所有的请求都由新版的Nginx处理。

    kill -WITCH 9869  #旧版本Nginx主进程号
    
  22. 此时查看Nginx的版本号,发现是新版的Nginx

  23. 查看Nginx进程的时候,发现有两个Nginx的主进程,如下图

  24. 这时需要关闭就的Nginx的主进程

    kill -QUIT pid #旧版的进程号
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值