(一) 软件介绍
由俄罗斯人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. linux信号量例子

    semaphore.h 提供的是 POSIX 标准定义的 semaphore 接口,而 sys/sem.h 里 提供的是符合 System V 标准的 semaphore接口 (semget, sem ...

  2. FileZilla下载文件失败

    之前一直可以下载文件,突然某天下载报错, 方法一:修改本地站点

  3. hadoop(四)MapReduce

    如果将 Hadoop 比做一头大象,那么 MapReduce 就是那头大象的电脑.MapReduce 是 Hadoop 核心编程模型.在 Hadoop 中,数据处理核心就是 MapReduce 程序设 ...

  4. php is_writeable函数bug问题

    其中bug存在两个方面,1.在windowns中,当文件只有只读属性时,is_writeable()函数才返回false,当返回true时,该文件不一定是可写的.如果是目录,在目录中新建文件并通过打开 ...

  5. Google大数据三大论文

    简介:https://blog.csdn.net/w1573007/article/details/52966742 论文中英文版下载http://pan.baidu.com/s/1slUy4sl   ...

  6. [WCF] - 访问任意方法耗时长问题之解决

    问题 访问 WCF 任意方法耗时都很长(15s+) 原因 当执行语句 log4net.Config.XmlConfigurator.Configure(); 时需要连接到 log4net 对应的数据库 ...

  7. java中selenium判断某个元素是否存在

    selenium工具 直接通过findElement方法获取某个元素,如果该元素不存在肯定会报错,selenium又没有可以判断该元素是否存在的方法 于是我们可以手写一个工具类,来判断这个元素是否存在 ...

  8. 函数的第一类对象,f格式化,迭代器以及递归

    函数名的第一类对象及使用,f格式化以及迭代器 1.函数的第一类对象 第一类对象 --特殊点 1.可以当作值被赋值给变量 def func(): print(1) a = func a() 2.可以当作 ...

  9. C++中深拷贝与浅拷贝

    浅拷贝和深拷贝 在某些状况下,类内成员变量需要动态开辟堆内存,如果实行位拷贝,也就是把对象里的值完全复制给另一个对象,如A=B.这时,如果B中有一个成员变量指针已经申请了内存,那A中的那个成员变量也指 ...

  10. beego入门笔记

    Beego Learn Note 示例环境在Deepin系统下. deepin 15.9.3 ├── Beego : 1.11.2 ├── GoVersion : go1.12.4 ├── GOOS ...