一、Nginx服务

1、介绍

        Nginx软件常见的使用方式或架构为:LNMP(linux nginx mysql php),Nginx三大主要功能,web网站服务,反向代理负载均衡(nginx lvs haproxy),nginx缓存服务

2、特点

①支持高并发:能支持几万并发连接(特别是静态小文件业务环境)
②资源消耗少:在3万并发连接下,开启10个Nginx线程消耗的内存不到200MB
③可以做HTTP反向代理及加速缓存、即负载均衡功能,
内置对RS节点服务器健康检查功能,这相当于专业的Haproxy软件或LVS的功能。
④具备Squid等专业缓存软件等的缓存功能。
⑤支持异步网络I/O事件模型epoll(Linux 2.6+)(绘图说明同步和异步)

总结:高并发-->资源消耗少-->功能多样(web服务/负载均衡/支持缓存)-->通讯模型先进(epoll)

3、企业功能应用

①作为web服务软件
②反向代理或负载均衡服务
③前端业务数据缓存服务

4、常见提供动态服务软件

①PHP(FastCGI):大中小型网站都会使用,动态网页语言PHP程序的解析容器,可以配合Apache解析动态程序,不过,这里的PHP不是FastCGI守护进程模式,而是mod_php5.so模块形式,也可以配合Nginx解析动态程序,此时的PHP常用FastCGI守护进程模式提供服务。
②Tomcat:中小企业动态Web服务主流,互联网JAVA容器主流(如JSP、do)
③Resin:大型动态Web主流,互联网JAVA容器主流(如JSP、do)
④IIS,微软windows下的Web服务软件(如asp、aspx)

二、Nginx编译安装

1、安装Nginx依赖包

yum install -y pcre-devel openssl-devel

2、编译安装

mkdir -p /server/tools/
cd /server/tools/
wget -q http://nginx.org/download/nginx-1.10.3.tar.gz
useradd www -s /sbin/nologin -M
tar xf nginx-1.10..tar.gz
cd nginx-1.10.
./configure --prefix=/application/nginx-1.10. --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
make && make install
ln -s /application/nginx-1.10./ /application/nginx
/application/nginx/sbin/nginx
lsof -i:

3、 Nginx重要目录结构

conf

nginx服务配置文件信息

html

web服务的站点目录

logs

nginx服务相关日志文件保存的目录

sbin

nginx服务相关命令保存目录

4、相关命令使用

/application/nginx/sbin/nginx              #启动服务
/application/nginx/sbin/nginx -t #语法检查
/application/nginx/sbin/nginx –s reload #优雅重启服务
/application/nginx/sbin/nginx –s stop #停止服务
/application/nginx/sbin/nginx –V #查看Nginx软件编译参数

5、Nginx配置文件

[root@web01 conf]# egrep -v "#|^$" nginx.conf.default >nginx.conf #最小化学习nginx配置文件

三、虚拟主机的搭建

1、 创建多域名虚拟主机站点目录

mkdir /application/nginx/html/{www,bbs,blog} –p

2、配置文件增加多虚拟主机

[root@web01 html]# cat ../conf/nginx.conf
worker_processes ;
events {
worker_connections ;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout ;
server {
listen ;
server_name www.etiantian.org;
location / {
root html/www;
index index.html index.htm;
}
}
server {
listen ;
server_name bbs.etiantian.org;
location / {
root html/bbs;
index index.html index.htm;
}
}
server {
listen ;
server_name blog.etiantian.org;
location / {
root html/blog;
index index.html index.htm;
}
}
}

3、优雅重启Nginx服务

[root@web01 html]# /application/nginx/sbin/nginx -s reload

4、本地域名解析测试

[root@web01 html]# for name in www bbs blog ;do echo 10.0.0.8 ${name}.etiantian.org >/application/nginx/html/$name/index.html ;done #创建不同的首页文件
for name in www bbs blog; do cat /application/nginx/html/$name/index.html;done#检查
10.0.0.8 www.etiantian.org
10.0.0.8 bbs.etiantian.org
10.0.0.8 blog.etiantian.org
利用curl命令测试Nginx配置多域名虚拟主机是否成功
[root@web01 html]# for name in www bbs blog;do curl $name.etiantian.org;done
10.0.0.8 www.etiantian.org
10.0.0.8 bbs.etiantian.org
10.0.0.8 blog.etiantian.org

5、Nginx错误页面

error_page     /50x.html; #出现对应的http状态码使用50x.html回应
location = /50x.html{ #location 区块开始,访问50x.html
root html; #指定对应的站点目录为html
}

6、其它扩展知识小结

利用vim复制命令,复制创建多个server主机标签;即x,ycopyz---10,17copy17

nginx配置文件编辑技巧,可以利用%在server一对花括号之间进行切换

③304状态码的意义说明

304状态码是浏览器缓存造成的,可以利用装包工具进行查看获取(抓包工具进行理解http访问过程)

取消缓存的方式为:在浏览器设置中进行清除缓存;或者采用浏览器强制刷新功能进行浏览器缓存的刷新

wireshark抓包软件使用

启动软件---选择需要进行转包的网卡---开始进行抓包

vim批量编辑方法:

ctrl+v进入批量编辑模式

上下箭头选中批量操作的行

shift+i 编辑选中的第一行

按ESC结束编辑,多行同时编辑完成

linux运维、架构之路-Nginx服务的更多相关文章

  1. linux运维架构师职业规划

    1.假如你从来未接触过Linux的话,首先要做的就找一本指导书来学习.现在公认的Linux的入门书籍是“鸟哥的私房菜”,讲的很全面,鸟哥的私房菜一共分为两部,一部是基础篇,一部是服务器篇.“鸟哥的私房 ...

  2. Nginx高性能服务器安装、配置、运维 (4) —— Nginx服务、架构及其信号

    五.Nginx服务.架构及其信号 (1)Nginx服务的查看 1.netstat -antp 查看Nginx是否在80端口运行: 2.ps aux|grep nginx 查看nginx相关进程: 发现 ...

  3. Linux 运维请务必收藏~ Nginx 五大常见应用场景

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ Nginx 是一个很强大的高性能 Web 和反向代理服务,它具有很多非常优越的特性,在连接高并 ...

  4. Linux运维之--LVS、Nginx、HAproxy有什么区别?

    LVS: 是基于四层的转发 HAproxy: 是基于四层和七层的转发,是专业的代理服务器 Nginx: 是WEB服务器,缓存服务器,又是反向代理服务器,可以做七层的转发 区别: LVS由于是基于四层的 ...

  5. Linux运维五:定时任务crond服务

    一.crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动cro ...

  6. Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Discuz!

    Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Disc ...

  7. 从苦逼到牛逼,详解Linux运维工程师的打怪升级之路

    做运维也快四年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感 ...

  8. Linux运维企业架构实战系列

    Linux运维企业架构项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-LVS.nginx实现负载均衡系列 2.1 项目实战2.1-实现基于LVS负载均衡集 ...

  9. Linux运维企业架构项目实战系列

    Linux运维企业架构项目实战系列 项目实战1—LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2—LVS.nginx实现负载均衡系列2.1 项目实战2.1—实现基于LVS负载均衡集群 ...

随机推荐

  1. 四、robotframework生成几种随机数

    1.random()生成0<=n<1之间的随机实数--它会生成一个随机的浮点数,范围是在0.0~1.0之间.: ${num}   evaluate random.random()   ra ...

  2. git 还原、恢复、回退

    通过git revert来实现线主干代码的回滚.如下命令 对于 merge类型的commit对象,还需要"-m"参数 git revert -m 1  commit-id 对于普通 ...

  3. nginx的域名解析

    1.​创建域名解析结构: ngx_resolver_create(ngx_conf_t *cf, ngx_str_t *names, ngx_uint_t n) 这里面的names是dns服务器的地址 ...

  4. ES6标准入门 第二章:块级作用域 以及 let和const命令

    一.块级作用域 1.为什么需要块级作用域? ES5中只有全局作用域和函数作用域,带来很多不合理的场景. (1)内层变量可能会覆盖外层变量: var tem = new Date(); function ...

  5. 【HANA系列】SAP HANA快捷键大全

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA快捷键大全   ...

  6. String的相关操作总结

    Java中的String与常量池 string是java中的字符串.String类是不可变的,对String类的任何改变,都是返回一个新的String类对象. string是java中的字符串.Str ...

  7. HDU 5945 题解(DP)(单调队列)

    题面: Fxx and game Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) T ...

  8. markDown 生成带侧边栏的目录

    1.首先安装马克飞象 2.第二步安装 npm install -g i5ting_toc 3.进入 md 文件所在的文件夹后, 输入命令:   i5ting_toc -f sample.md -o s ...

  9. mongoDB学习笔记(2)

    一.删数据库 1.语法 MongoDB 删除数据库的语法格式如下: db.dropDatabase() 删除当前数据库,默认为 test,你可以使用 db 命令查看当前数据库名. 2.实例 以下实例我 ...

  10. TCP/IP详解学习笔记(3)IP协议ARP协议和RARP协议

    把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数 ...