一、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. Codeforces Round #573

    http://codeforces.com/contest/1191 A 给一个数,可以加0,1或2然后取模,再映射到字母,字母有排名,求最大排名. 总共只有4种情况,讨论即可 #include< ...

  2. Delphi XE2 之 FireMonkey 入门(11) - 控件居中、旋转、透明

    RotationAngle.RotationCenter.Opacity 属性继承自 TControl(FMX.Types), 这些新属性成了控件的基本功能. 先在 HD 窗体上添加 TRectang ...

  3. django-xadmin常用内容记录

    自定义菜单名称: 1 修改app下的 apps.py文件 添加 class OperationConfig(AppConfig): name = 'operation' verbose_name = ...

  4. Window下,在TEMP路径下生成一个临时文件名

    BOOL GetFullTempFileName(const TCHAR* strPrefix, std::wstring& strFullName) { TCHAR strTempFolde ...

  5. 35 怎么优化join

    35 怎么优化join 上一篇介绍了join的两种算法:nlj和bnl create table t1(id int primary key, a int, b int, index(a)); cre ...

  6. window10 本地搭建SVN服务器

    window10本地搭建SVN服务器教程:https://www.cnblogs.com/warmlight/p/11075644.html 我按照这篇教程成功搭建SVN服务器. 有个比较坑的地方是w ...

  7. Linux操作系统(六)_文件系统结构

    linux只有一个文件树,整个文件系统是以一个树根"/"为起点的 所有的文件和外部设备都以文件的形式挂在上面,linux发行版本的根目录大都是以下结构: /bin /sbin /b ...

  8. vue 路由嵌套 及 router-view vue-router --》children

    vue 路由嵌套 vue-router -->children   在项目的很多子页面中,我们往往需要在同一个页面做一个组件的切换,同时保存这个页面的部分数据(比如树形菜单),进而显示不同的数据 ...

  9. Node.js实战11:fs模块初探。

    fs模块封装了对文件操作的各种方法,比如同步和异步读写.批量操作.流.监听. 我们还是通常例程学习, 获取目录下的文件清单: var fs =require("fs"); fs.r ...

  10. linux文件io与标准io

    文件IO实际是API,Linux对文件操作主要流程为:打开(open),操作(write.read.lseek),关闭(close). 1.打开文件函数open(): 涉及的头文件:  #includ ...