• Nginx- web服务配置与测试



    (一) 软件介绍
    由俄罗斯人lgor Sysove开发,为开源软件。
    支持高并发:支持几万并发连接(特别是静态小文件业务环境)
    资源消耗少:在3万并发连接下开启10个Nginx线程消耗内存不到200M
    支持异步网络I/O事件模型epoll(Linux2.6+) apache(select)
    功能介绍
    1.作为web服务器软件(处理用户访问静态请求)
    2.反向代理或负载均衡服务
    3.前端业务数据缓存服务
    Nginx软件模型特点
    apache使用select 模型 逐一查找
    nginx 使用epoll 模型 检索后查找
    (二) 安装Nginx软件
      1. 依赖安装方法:先安装相关依赖包
        pcre-devel: perl语言正则表达式兼容软件包
        openssl-devel:使系统支持https方式

    [root@web02 ~]# yum install -y pcre-devel openssl-devel
    [root@web02 ~]# cd /server/tool/
    [root@web02 tool]# wget http://nginx.org/download/nginx-1.16.1.tar.gz 官方网站下载软件
    [root@web02 tool]# tar zxf nginx-1.16.1.tar.gz 解压文件
    [root@web02 tool]# ll
    total 1016
    drwxr-xr-x. 8 1001 1001 4096 Aug 13 20:51 nginx-1.16.1
    -rw-r--r--. 1 root root 1032630 Aug 14 01:01 nginx-1.16.1.tar.gz

    2. 创建管理nginx管理用户

    [root@web02 nginx-1.16.1]# useradd www -s /sbin/nologin -M

    3. 进行编译安装nginx软件 (/server/tool/nginx-1.16.1/解压文件目录下进行)

    [root@web02 nginx-1.16.1]# ./configure --prefix=/app/nginx-1.16.1 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module
    [root@web02 nginx-1.16.1]# make && make inistall
    [root@web02 nginx-1.16.1]# cd /app/nginx-1.16.1/
    [root@web02 nginx-1.16.1]# ll
    total 16
    drwxr-xr-x. 2 root root 4096 Aug 19 16:34 conf
    drwxr-xr-x. 2 root root 4096 Aug 19 16:34 html
    drwxr-xr-x. 2 root root 4096 Aug 19 16:34 logs
    drwxr-xr-x. 2 root root 4096 Aug 19 16:34 sbin

    4. 创建软链接

    [root@web02 app]# ln -s /app/nginx-1.16.1/ /app/nginx

    (三) 启动Nginx 软件测试

    [root@web02 app]# /app/nginx/sbin/nginx 
    [root@web02 app]# ps -ef |grep nginx 检查进程是否启用
    root 16565 1 0 17:10 ? 00:00:00 nginx: master process /app/nginx/sbin/nginx    管理nginx软件服务
    www 16566 16565 0 17:10 ? 00:00:00 nginx: worker process 工作人员进程(解决高并发访问时需要调整)
    root 16568 16527 0 17:10 pts/1 00:00:00 grep nginx
    [root@web02 nginx]# grep -Ev "#|^$" ./conf/nginx.conf.default > ./conf/nginx.conf 
    过滤掉没用的井号信息与空白行

    (四) 创建www站点目录

    [root@web02 html]# mkdir -p /app/nginx/html/www
    [root@web02 html]# cat /app/nginx/html/www/index.html 
    10.0.0.8 www.impkk.com

    (五) 批量创建站点目录规范化

    [root@web02 ~]# for name in www pho blog;do echo "10.0.0.8 $name.impkk.com" > /app/nginx/html/$name/index.html;done
    [root@web02 ~]# for name in www pho blog;do cat /app/nginx/html/$name/index.html;done
    10.0.0.8 www.impkk.com
    10.0.0.8 pho.impkk.com
    10.0.0.8 blog.impkk.com
    [root@web02 conf]# sed -n '10,17p' nginx.conf
    server {
    listen 80;
    server_name www.impkk.com;
    location / {
    root html/www;
    index index.html index.htm;
    }
    }
    [root@web02 conf]# sed -n '10,17p' nginx.conf > extra/www.conf
    [root@web02 conf]# sed -n '10,17p' nginx.conf > extra/pho.conf
    [root@web02 conf]# sed -n '10,17p' nginx.conf > extra/blog.conf
    [root@web02 conf]# /app/nginx/sbin/nginx -t
    nginx: the configuration file /app/nginx-1.16.1/conf/nginx.conf syntax is ok
    nginx: configuration file /app/nginx-1.16.1/conf/nginx.conf test is successful
    [root@web02 conf]# /app/nginx/sbin/nginx -s reload

    (六) 测试网站访问情况
    1. 修改hosts文件添加域名信息

    [root@web02 conf]# cat /etc/hosts
    172.16.1.8 web02    www.impkk.com    blog.impkk.com    pho.impkk.com 

    2. 利用curl 命令查看静态网站是否显示成功

    [root@web02 ~]# curl www.impkk.com
    10.0.0.8 www.impkk.com
    [root@web02 ~]# curl blog.impkk.com
    10.0.0.8 blog.impkk.com
    [root@web02 ~]# curl pho.impkk.com
    10.0.0.8 pho.impkk.com

    (七) Nginx 启动命令参数(sbin目录下的命令参数)*必须使用全路径
        -V 查看nginx软件编译配置参数(是如何安装nginx软件的)
        -v 查看nginx版本信息
        -t 检查nginx配置文件语法格式是否正确
        -s 用于管理nginx服务运行状态(语法是否有错误)
          stop 停止nginx服务
          reload重新加载nginx服务
        真正重启nginx服务就是停止后重新启动服务/*./nginx -s stop 后重新启动nginx

    [root@web01 ~]# /application/nginx/sbin/nginx -t
    nginx: the configuration file /application/nginx-1.16/conf/nginx.conf syntax is ok
    nginx: configuration file /application/nginx-1.16/conf/nginx.conf test is successful
    [root@web01 ~]# /application/nginx/sbin/nginx -s reload
    [root@web01 ~]# /application/nginx/sbin/nginx -s stop

    (八) Nginx 日志相关设置
      1. 错误日志配置方法:在nginx.conf的配置文件主模块后添加日志信息
    error_log日志级别分为:debug,info,notice,warn,error,crit (默认crit)

    error_log   logs/error.log    error
    错误日志        存放位置   记录日志级别

      2. 访问日志access.log配置方法:(配置在http模块内)

    log_format main '$remote_addr - $remote_user [$time_local] "$request"'  #定义日志信息记录内容
              '$status $body_bytes_sent "$http_referer"'          
              '"$http_user_agent" "$http_x_forwarded_for"';    
    access_log   logs
    /access.log   main;     #调用定义格式信息(log_format main)生成访问日志
    访问日志       存放位置    启动访问日志功能

    2.1 access访问日志内容含义:

    $remote_addr    10.0.0.1    访问客户端源地址信息
    $remote_user    -        访问客户端认证用户信息
    [$time_local]           显示访问时间
    $request     GET/HTTP/1.1 显示请求信息
    $status      304        状态码信息(304为利用缓存显示页面信息)
    $body_bytes_sent         服务端相应客户端数据大小信息
    $http_referer           记录链接到网站的域名信息
    $http_user_agent         用户访问网站客户端软件标识信息
    $http_x_forwarded_for      反向代理


  • 相关阅读:
    Java 线程
    杂记
    字符流分类详细介绍和各种字符流类介绍与使用 字符集
    内部类 与 匿名内部类
    Java IO流学习总结
    java的集合框架
    jquery 只能投票一次
    C# 简易版的计算器程序
    常用DBHelper类
    jQuery异步提交
  • 原文地址:https://www.cnblogs.com/imp-W/p/11381961.html
Copyright © 2020-2023  润新知