linux运维、架构之路-Nginx服务
一、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服务的更多相关文章
- linux运维架构师职业规划
		
1.假如你从来未接触过Linux的话,首先要做的就找一本指导书来学习.现在公认的Linux的入门书籍是“鸟哥的私房菜”,讲的很全面,鸟哥的私房菜一共分为两部,一部是基础篇,一部是服务器篇.“鸟哥的私房 ...
 - Nginx高性能服务器安装、配置、运维 (4) —— Nginx服务、架构及其信号
		
五.Nginx服务.架构及其信号 (1)Nginx服务的查看 1.netstat -antp 查看Nginx是否在80端口运行: 2.ps aux|grep nginx 查看nginx相关进程: 发现 ...
 - Linux 运维请务必收藏~ Nginx 五大常见应用场景
		
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ Nginx 是一个很强大的高性能 Web 和反向代理服务,它具有很多非常优越的特性,在连接高并 ...
 - Linux运维之--LVS、Nginx、HAproxy有什么区别?
		
LVS: 是基于四层的转发 HAproxy: 是基于四层和七层的转发,是专业的代理服务器 Nginx: 是WEB服务器,缓存服务器,又是反向代理服务器,可以做七层的转发 区别: LVS由于是基于四层的 ...
 - Linux运维五:定时任务crond服务
		
一.crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动cro ...
 - Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Discuz!
		
Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Disc ...
 - 从苦逼到牛逼,详解Linux运维工程师的打怪升级之路
		
做运维也快四年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感 ...
 - Linux运维企业架构实战系列
		
Linux运维企业架构项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-LVS.nginx实现负载均衡系列 2.1 项目实战2.1-实现基于LVS负载均衡集 ...
 - Linux运维企业架构项目实战系列
		
Linux运维企业架构项目实战系列 项目实战1—LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2—LVS.nginx实现负载均衡系列2.1 项目实战2.1—实现基于LVS负载均衡集群 ...
 
随机推荐
- postman连接mysql执行操作
			
postman也可以连接mysql 目录 1.安装 2.启动服务 3.执行sql语句 1.安装 想要postman连接mysql,需要安装xmysql,启动该服务,然后才可以调用. 预置条件:完成no ...
 - Week2 - 669. Trim a Binary Search Tree & 617. Merge Two Binary Trees
			
Week2 - 669. Trim a Binary Search Tree & 617. Merge Two Binary Trees 669.Trim a Binary Search Tr ...
 - vue复合组件----注册表单
			
<!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...
 - (selenium+python)_UI自动化01_Mac下selenium环境搭建
			
前言 Selenium 是一个用于Web网页UI自动化测试的开源框架,可以驱动浏览器模拟用户操作.支持多种平台(Windows.Mac OS.Linux)和多种浏览器(IE.Firefox.Chrom ...
 - ecshop启用gzip后,后台不能打开不能访问的问题
			
上传测试的时候,站点显示无法打开.随后我用网址打开根目录的robots文件.图片.静态页···全部可以正常打开··· 我尴尬···一一检查后,我就怀疑是不是客户当初设置gzip压缩的问题了.但连后台都 ...
 - levelDB SSTable-静态布局结构
			
SSTable是Bigtable中至关重要的一块,对于LevelDB来说也是如此,对LevelDB的SSTable实现细节的了解也有助于了解Bigtable中一些实现细节. 本节内容主要讲述S ...
 - Netty内存池ByteBuf 内存回收
			
内存池ByteBuf 内存回收: 在前面的章节中我们有提到, 堆外内存是不受JVM 垃圾回收机制控制的, 所以我们分配一块堆外内存进行ByteBuf 操作时, 使用完毕要对对象进行回收, 本节就以Po ...
 - javascript自定义Map对象
			
javascript定义map对象开发前端组件的重要性就不过多阐述了,直接参考以下案例即可 <script type=text/javascript charset=utf-8> func ...
 - java _static 关键字
			
• 在类中,用static声明的成员变量为静态成员变量 ,或者叫做: 类属性,类变量. • 它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化, • 对于该类的所有对象来说,s ...
 - Topcoder SRM656div1 250 ( 期望DP )
			
Problem Statement Charlie has N pancakes. He wants to serve some of them for breakfast. We will n ...