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..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服务配置与测试的更多相关文章
- 2-4、nginx特性及基础概念-nginx web服务配置详解
Nginx Nginx:engine X 调用了libevent:高性能的网络库 epoll():基于事件驱动event的网络库文件 Nginx的特性: 模块化设计.较好扩展性(不支持模块动态装卸载, ...
- Linux实战教学笔记38:企业级Nginx Web服务优化实战(下)
四,Nginx站点目录及文件URL访问控制 4.1 根据扩展名限制程序和文件访问 Web2.0时代,绝大多数网站都是以用户为中心多的,例如:bbs,blog,sns产品,这几个产品都有一个共同特点,就 ...
- Linux实战教学笔记37:企业级Nginx Web服务优化实战(上)
一,Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题,别的批次可能就都是好的.因此,我们应尽量隐 ...
- Nginx网站服务 配置
Nginx网站服务 配置 1.编译安装Nginx服务 2.认识Nginx服务的主配置文件nginx.conf 3.访问状态统计配置 4.基于授权的访问控制 5.基于客户端的访问控制 6.基于域名的Ng ...
- (转)Nginx静态服务配置---详解root和alias指令
Nginx静态服务配置---详解root和alias指令 原文:https://www.jianshu.com/p/4be0d5882ec5 静态文件 Nginx以其高性能著称,常用与做前端反向代理服 ...
- Nginx静态服务配置---详解root和alias指令
Nginx静态服务配置---详解root和alias指令 静态文件 Nginx以其高性能著称,常用与做前端反向代理服务器.同时nginx也是一个高性能的静态文件服务器.通常都会把应用的静态文件使用ng ...
- Nginx Web服务(一)
一.Nginx原理介绍 1.1:什么是Nginx Nginx是一个开源的,支持高性能.高并发的WWW服务和代理服务软件 1.2:Nginx的功能特点及应用场合 ① 支持高并发:能支持几万并发连接,特别 ...
- nginx web服务优化
nginx基本安全优化 1. 调整参数隐藏nginx软件版本号信息 软件的漏洞和版本有关,我们应尽量隐藏或消除web服务对访问用户显示各类敏感信息(例如web软件名称及版本号等信息),这样恶意的用户就 ...
- Nginx web服务优化 (一)
1.Nginx基本安全优化 a.更改配置文件参数隐藏版本 编辑nginx.conf配置文件增加参数,实现隐藏Nginx版本号的方式如下.在nginx配置文件nginx.conf中的http标签段内加入 ...
随机推荐
- 机器学习中的数学-线性判别分析(LDA)
前言在之前的一篇博客机器学习中的数学(7)——PCA的数学原理中深入讲解了,PCA的数学原理.谈到PCA就不得不谈LDA,他们就像是一对孪生兄弟,总是被人们放在一起学习,比较.这这篇博客中我们就来谈谈 ...
- iOS点击按钮第二次不能旋转View
原因: 用CGAffineTransformMakeRotation,每次旋转都要在之前最后的角度基础之上再转才有效果. - (void)clickAction: (UIButton *)button ...
- js中的eval方法
eval(string) eval函数接收一个参数string,如果string不是字符串,则直接返回string.否则执行string语句.如果string语句执行结果是一个值,则返回此值,否则返回 ...
- Python爬虫-爬取豆瓣图书Top250
豆瓣网站很人性化,对于新手爬虫比较友好,没有如果调低爬取频率,不用担心会被封 IP.但也不要太频繁爬取. 涉及知识点:requests.html.xpath.csv 一.准备工作 需要安装reques ...
- web端调起Windows系统应用程序(exe执行文件),全面兼容所有浏览器
1. 首先,你要有一个exe可执行文件2. 创建注册表创建注册表有两种方式(以“MyApp.exe”为例): 方式一:可视化编辑Win+R 打开运行,输入 regedit 并回车,进入注册表编辑器新建 ...
- JavaScript图形实例:图形的扇形变换和环形变换
1.1 扇形变换 将如图1所示的上边长方形的图形变换为下边的扇形图形的变换称为扇形变换. 设长方形图形中任一点P1(X1,Y1)变换为扇形图形上的点P2(X2,Y2),长方形的长为X,扇形圆心坐标为 ...
- MySQL的join on和 where 的执行顺序和区别,以及各种连接说明
目录 1.各种连接的解读说明: 1.1.各种连接的含义和说明 1.1.1 所有连接分类 1.1.2 left join 和 left outer join 区别 1.2.神图参考 1.4.一些参考说明 ...
- DeviceEventEmitter React-Native 发送和接受消息(事件监听器)
A页面注册通知: import {DeviceEventEmitter} from 'react-native'; //… //调用事件通知 DeviceEventEmitter.emit('xxxN ...
- sql 查找入职员工时间排名倒数第三(查找某一列特定排名)
查找入职员工时间排名倒数第三的员工所有信息CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL, ...
- C++ 枚举定义
我们在平常的编程中,时常需要为一些属性定义一组可以选择的值,比如文件打开的状态可能会有三种:输入 输出和追加 我们一般情况下记录这些状态是让每一个状态和一个常数相对应 比如 ; ; ; 这个方法虽 ...