Nginx(三)

  1. nginx平滑升级
  2. 平滑升级过程
    # 进入nginx的sbin目录查看nginx的版本
    ./nginx -v
    # 下载解压要升级到的版本,然后查看安装环境,再make编译
    ./configure
    make
    # 对老版本的nginx的可执行文件进行备份(nginx.old)
    cd /usr/local/nginx/sbin
    cp nginx nginx.old
    # 进入新版本的nginx目录,然后将nginx可执行文件复制过去
    cp -rfp objs/nginx /usr/local/nginx/sbin/
    # 删除新版本的压缩包和解压包
  • nginx配置文件总览
  1. 进入配置文件目录
    # 进入目录
    cd /usr/local/nginx/conf
    # 查看配置文件
    vi nginx.conf
  2. 配置文件详解
    ########### 每个指令必须有分号结束。#################
    #配置用户或者组,默认为nobody nobody
    #user administrator administrators;
    #允许生成的进程数,默认为1(CPU核实)
    #worker_processes 2;
    #指定nginx进程运行文件存放地址
    #pid /nginx/pid/nginx.pid;
    #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别依次为:debug|info|notice|warn|error|crit|alert|emerg
    error_log log/error.log debug;
    events {
        #设置网路连接序列化,防止惊群现象发生,默认为on
        accept_mutex on; 
        #设置一个进程是否同时接受多个网络连接,默认为off
        multi_accept on; 
        #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
        #use epoll;
        #最大连接数
        worker_connections  1024;
    }
    http {
        #文件扩展名与文件类型映射表
        include       mime.types;
        #默认文件类型,默认为text/plain
        default_type  application/octet-stream;
        #取消服务日志
        #access_log off;
        #自定义格式
        log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for';
        #combined为日志格式的默认值
        access_log log/access.log myFormat;
        #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
        sendfile on;
        #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
        sendfile_max_chunk 100k;
        #连接超时时间,默认为75s,可以在http,server,location块。
        keepalive_timeout 65; 
        upstream mysvr {   
          server 127.0.0.1:7878;
          server 192.168.10.121:3333 backup;  #热备
        }
        #错误页
        error_page 404 https://www.baidu.com;
        server {
            keepalive_requests 120; #单连接请求上限次数。
            listen       4545;   #监听端口
            server_name  127.0.0.1;   #监听地址
            #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。 
            location  ~*^.+$ {
               #root path;  #根目录
               #index vv.txt;  #设置默认页
               #请求转向mysvr 定义的服务器列表      
               proxy_pass  http://mysvr; 
               deny 127.0.0.1;  #拒绝的ip
               allow 172.18.5.54; #允许的ip           
            }
        }
    }
  3. 通常情况下,为了使每个服务器可以供更多用户使用,可以将一个服务器分为很多虚拟的子服务器,每个子服务器都是互相独立的。这些服务器是根据虚拟化技术分出来的,这样,一台服务器就可以虚拟成很多台子服务器。我们把子服务器叫做虚拟主机。我们搭建好Nginx服务器之后,此时只有一台Nginx服务器,这时如果我们对这台服务器进行虚拟主机配置,就可以将一台Nginx服务器分割为多台独立的子服务器。Nginx中配置虚拟主机的步骤主要有两个,第一步是配置IP地址,第二步是绑定IP地址与虚拟主机。
  4. 配置IP地址
    # 查看ip地址信息
    ifconfig
    # 手动配置ip地址(不要修改ip地址,不然连不上,直接使用分配的IP地址)
    ifconfig ens33(eth0)192.168.1.9(1-59) netmask 255.255.255.0
    # 虚拟主机ip地址配置(broadcast、netmask要和主IP地址相同)
    ifconfig ens33:1 192.168.1.7 broadcast 192.168.1.255 netmask 255.255.255.0
    # 查看是否配置好
    ifconfig
    # 再次配置一个虚拟主机ip地址(修改两处)
    ifconfig ens33:2 192.168.1.17 broadcast 192.168.1.255 netmask 255.255.255.0
  5. 配置虚拟主机
    # 在nginx存放配置文件的目录下新建一个虚拟主机文件(/usr/local/nginx/conf)
    touch xunizhuji.conf
    # 在xunizhuji.conf写入配置
    user nobody;
    worker_processes 1;
    events{
        worker_connections 1024;
    }
    http{
        server{
            listen 192.168.1.7:80;
            server_name 192.168.1.7;
            access_log logs/server1.access.log combined;
            location /
            {
            # /usr/local/nginx/html/server1目录下
            index index.html index.htm;
            # root是指/usr/local/nginx目录;server1目录存放源文件
            root html/server1;
            }
            }
        server{
            listen 192.168.1.17:80;
            server_name 192.168.1.17;
            access_log logs/server1.access.log combined;
            location /
            {
             index index.html index.htm;
             root html/server2;
            }
            }
    }
    # 在目录/usr/local/nginx/html下新建
    mkdir server1
    cd server1
    # 创建首页
    touch index.html
    mkdir server2
    cd server2
    touch index.html
原文地址:https://www.cnblogs.com/tk2049jq/p/7077974.html