(一) 软件介绍
由俄罗斯人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..tar.gz 解压文件
[root@web02 tool]# ll
total
drwxr-xr-x. Aug : nginx-1.16.
-rw-r--r--. root root Aug : nginx-1.16..tar.gz

2. 创建管理nginx管理用户

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

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

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

4. 创建软链接

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

(三) 启动Nginx 软件测试

[root@web02 app]# /app/nginx/sbin/nginx
[root@web02 app]# ps -ef |grep nginx 检查进程是否启用
root : ? :: nginx: master process /app/nginx/sbin/nginx 管理nginx软件服务
www : ? :: nginx: worker process 工作人员进程(解决高并发访问时需要调整)
root : pts/ :: 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 ;
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./conf/nginx.conf syntax is ok
nginx: configuration file /app/nginx-1.16./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为利用缓存显示页面信息)
$body_bytes_sent      服务端相应客户端数据大小信息
$http_referer        记录链接到网站的域名信息
$http_user_agent      用户访问网站客户端软件标识信息
$http_x_forwarded_for   反向代理

Nginx- web服务配置与测试的更多相关文章

  1. 2-4、nginx特性及基础概念-nginx web服务配置详解

    Nginx Nginx:engine X 调用了libevent:高性能的网络库 epoll():基于事件驱动event的网络库文件 Nginx的特性: 模块化设计.较好扩展性(不支持模块动态装卸载, ...

  2. Linux实战教学笔记38:企业级Nginx Web服务优化实战(下)

    四,Nginx站点目录及文件URL访问控制 4.1 根据扩展名限制程序和文件访问 Web2.0时代,绝大多数网站都是以用户为中心多的,例如:bbs,blog,sns产品,这几个产品都有一个共同特点,就 ...

  3. Linux实战教学笔记37:企业级Nginx Web服务优化实战(上)

    一,Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题,别的批次可能就都是好的.因此,我们应尽量隐 ...

  4. Nginx网站服务 配置

    Nginx网站服务 配置 1.编译安装Nginx服务 2.认识Nginx服务的主配置文件nginx.conf 3.访问状态统计配置 4.基于授权的访问控制 5.基于客户端的访问控制 6.基于域名的Ng ...

  5. (转)Nginx静态服务配置---详解root和alias指令

    Nginx静态服务配置---详解root和alias指令 原文:https://www.jianshu.com/p/4be0d5882ec5 静态文件 Nginx以其高性能著称,常用与做前端反向代理服 ...

  6. Nginx静态服务配置---详解root和alias指令

    Nginx静态服务配置---详解root和alias指令 静态文件 Nginx以其高性能著称,常用与做前端反向代理服务器.同时nginx也是一个高性能的静态文件服务器.通常都会把应用的静态文件使用ng ...

  7. Nginx Web服务(一)

    一.Nginx原理介绍 1.1:什么是Nginx Nginx是一个开源的,支持高性能.高并发的WWW服务和代理服务软件 1.2:Nginx的功能特点及应用场合 ① 支持高并发:能支持几万并发连接,特别 ...

  8. nginx web服务优化

    nginx基本安全优化 1. 调整参数隐藏nginx软件版本号信息 软件的漏洞和版本有关,我们应尽量隐藏或消除web服务对访问用户显示各类敏感信息(例如web软件名称及版本号等信息),这样恶意的用户就 ...

  9. Nginx web服务优化 (一)

    1.Nginx基本安全优化 a.更改配置文件参数隐藏版本 编辑nginx.conf配置文件增加参数,实现隐藏Nginx版本号的方式如下.在nginx配置文件nginx.conf中的http标签段内加入 ...

随机推荐

  1. 【python基础】使用import导入相对路径的源文件

    前言 在编写python代码的过程中,不同路径下的源码文件该如何引用,这是个问题,本文针对这个问题介绍解决方法. 源码目录结构: . ├── conf.py ├── main.py ├── mod/ ...

  2. web端自动化——selenium项目集成HTML测试报告

    参考内容: 虫师:<selenium2自动化测试实战——基于python语言> PS:书中的代码,只能做参考,最好还是自己码一码,不一定照搬就全是对的,实践出真知... 随着软件不断迭代功 ...

  3. SQL命令如何分发到集群的各节点

    有些数据库集群的规模是很大的,有上百个节点,那么维护SQL命令如何快速分发给各个节点,例如:要加个字段,逐个节点操作那是十分低效,枯燥的. TreeSoft增加了[SQL分发]功能,简单配置,可以快速 ...

  4. vue-cli3.0和element-ui及axios的安装使用

    一.利用vue-cli3快速搭建vue项目 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统.有三个组件: CLI:@vue/cli 全局安装的 npm 包,提供了终端里的vue命令( ...

  5. CF1228D Complete Tripartite

    思路: 任选一点a,和a没有边直接相连的点一定和a在同一个集合,由此构造得到一个集合A.用类似的方法再构造一个集合B,并将剩下的点放在集合C中,就得到了三个集合A,B,C.再检查A,B,C是否符合要求 ...

  6. windows下连接mysql提示1044-access denied for root''@'localhost' to database

    ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mydb'. 原因是因为mysql数据库的user表里,存 ...

  7. ROS中的通信机制

    http://www.ros.org/core-components/ Communications Infrastructure At the lowest level, ROS offers a ...

  8. QT 创建一个线程播放监控视频

    1.创建一个线程类(PlayVideoThread): PlayVideoThread.h头文件 #pragma once #include <QObject> #include &quo ...

  9. C++_向函数传递对象

    向函数传递对象 1. 使用对象作为函数参数 对象可以作为参数传递给函数,其方法与传递其他类型的数据相同. 在向函数传递对象时,是通过传值调用传递给函数的. 因此,函数中对对象的任何修改均不影响调用该函 ...

  10. Mysql 定时备份(mysqldump)

    #!/bin/bash today=`date +%Y-%m-%d` deleday=`date -d '7 day ago' +%Y-%m-%d` path=/home/data/mysqlback ...