zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    golang语言调试
    Debugging golang programs
    Goroutines vs Threads
    3dmax联机分布式渲染方法技巧详解
    VVDocumenter-Xcode
    Hallelujah Leonard Cohen
    创作思维导图的步骤
    XMind 快捷键完整命令
    圣经中有关天使的记载
    电箱吉他的电流声简单处理办法!
  • 原文地址:https://www.cnblogs.com/tk2049jq/p/7077974.html
Copyright © 2011-2022 走看看