Linux安装nginx1.13.7

Linux环境:centos7.6

一、安装nginx

1. 下载地址http://nginx.org/download/nginx-1.13.7.tar.gz

2. 一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

3. 上传安装包
cd /usr/local/tmp
tar -zxvf nginx-1.13.7.tar.gz
mv /usr/local/tmp/nginx-1.13.7 /usr/local/service/

4. 安装,考虑到后续安装ssl证书 添加两个模块
cd /usr/local/service/nginx-1.13.7
./configure --with-http_stub_status_module --with-http_ssl_module
// 执行make命令
make
// 执行make install命令
make install

5. 可以修改配置文件,端口
/usr/local/nginx/conf/nginx.conf

6. 进入安装目录启动
cd /usr/local/nginx/sbin
./nginx 启动
./nginx -s reload # 重启
./nginx -s stop # 停止

7. ip:port访问

二、nginx.conf常用配置解析

第一部分:全局块

# nginx指定用户。安全问题,建议用nobody,不要用root。
user root;
# 工作进程数。根据硬件调整,通常等于CPU数量或者2倍于CPU
worker_processes 4;

第二部分:events块

events {
  # 表示每个 work process 支持的最大连接数为 1024。【理论上每台nginx服务器的最大连接数为。worker_processes*worker_connections】
  worker_connections 1024;
}

第二部分:http块

http {

  # 当web服务器收到静态的资源文件请求时,依据请求文件的后缀名在服务器的MIME配置文件中找到对应的MIME Type,
  # 再根据MIME Type设置HTTP Response的Content-Type,然后浏览器根据Content-Type的值处理文件。
  include mime.types;
  # 客户端请求头部的缓冲区大小
  client_header_buffer_size 16k;
  # 客户请求头缓冲大小。nginx默认会用client_header_buffer_size,如果header过大,它会使用large_client_header_buffers来读取。
  large_client_header_buffers 4 128k;
  # 设定通过nginx上传文件的大小
  client_max_body_size 150M;
  #  一个请求完成之后还要保持连接多久, 默认为0,表示完成请求后直接关闭连接
  keepalive_timeout 180;

  # gzip config,开启或者关闭gzip模块
  gzip on;
  # 设置允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取
  gzip_min_length 1k;
  # gzip压缩比,1 压缩比最小处理速度最快,9 压缩比最大但处理最慢(传输快但比较消耗cpu)
  gzip_comp_level 9;
  gzip_buffers 4 16k;
  # 匹配MIME类型进行压缩,(无论是否指定)"text/html"类型总是会被压缩的。
  gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
  gzip_vary on;
  gzip_disable "MSIE [1-6]\.";

  # 负载均衡
  # 1. 轮询(默认),每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
  # 2. weight,指定权重,指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
  # 3. 下面配置示例。每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
  # 4. 其他,可以混合使用。这里只介绍常用到的。
  upstream bakend {
    server 127.0.0.1:8027;
    server 127.0.0.1:8028;
    server 127.0.0.1:8029;
  }

  server {
    # 监听端口
    listen 80;
    # 配置访问域名
    server_name 192.168.161.xxx;

    # 默认请求,一般本地启动使用
    location / {
      # 定义服务器的默认网站根目录位置
      root html;
      # 默认访问首页索引文件的名称
      index index.html index.htm;
      # 反向代理路径
      proxy_pass http://myserver;
      # 以下三行,目的是将代理服务器收到的用户的信息传到真实服务器上
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $scheme;
    }
    # 根据请求路径代理访问
    location /api { 
      # 定义服务器的默认网站根目录位置
      root html;
      # 默认访问首页索引文件的名称
      index index.html index.htm;
      # 反向代理路径
      proxy_pass http://myserver;
      # 以下三行,目的是将代理服务器收到的用户的信息传到真实服务器上
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $scheme;
    }
  }
}

 

posted @ 2019-01-16 09:27  美宰可#F22  阅读(1702)  评论(2编辑  收藏  举报