(一) 软件介绍
由俄罗斯人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. Java基础教程:内部类

    Java基础教程:内部类 内部类 内部类,是指在一个类的内部定义的类.就像下面这样: public class EnclosingClass {   . . .   public class Nest ...

  2. 自组织特征映射神经网络(SOFM)

    1981年芬兰 Helsink 大学的 T·Kohonen 教授提出一种自组织特征映射网 (Self-Organizing Feature Map , SOFM ), 又称 Kohonen 网 . K ...

  3. popup demo

    Django下实现: urls.py: from django.conf.urls import url from django.contrib import admin from app01 imp ...

  4. python 线程创建和传参(28)

    在以前的文章中虽然我们没有介绍过线程这个概念,但是实际上前面所有代码都是线程,只不过是单线程,代码由上而下依次执行或者进入main函数执行,这样的单线程也称为主线程. 有了单线程的话,什么又是多线程? ...

  5. (五)Spring Boot官网文档学习

    文章目录 SpringApplication SpringApplication 事件 `ApplicationContext ` 类型 访问传递给 `SpringApplication` 的参数 A ...

  6. CF731E Funny Game

    题目描述 一个长度为 N 的序列 ai ,双方轮流操作 每次的操作是选择一个长度大于 1 的前缀,计算它的和 s ,然后 用 s 替换它的前缀,同时当前玩家获得 s 的分数. 当只剩下一个元素,游戏结 ...

  7. Sublime实现自动排版

    sublime功能很强大, 但是使用sublime就可以实现代码自动重新缩进,使代码缩进重排 方法:Ctrl+A选中全部内容,然后在菜单中选择Edit->Line->Reindent

  8. 20191104-基于Python计数排序算法分析

    计数排序 计数排序算法没有用到元素间的比较,它利用元素的实际值来确定它们在输出数组中的位置,也就是说元素从未排序状态变为已排序状态的过程,是由额外空间的辅助和元素本身的值决定的,将每个元素出现的次数记 ...

  9. vm虚拟机啊安装操作

    VMware下载与安装一.虚拟机的下载1.进入VMware官网,点击左侧导航栏中的下载,再点击图中标记的Workstation Pro,如下图所示. 2.根据操作系统选择合适的产品,在这里以Windo ...

  10. python检测当前端口是否使用

    基于python检测端口是否在使用 - 缘起花渊 - 博客园https://www.cnblogs.com/yqmcu/p/9804002.html def net_is_used(port,ip=' ...