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.3.tar.gz cd nginx-1.10.3 ./configure --prefix=/application/nginx-1.10.3 --user=www --group=www --with-http_stub_status_module --with-http_ssl_module make && make install ln -s /application/nginx-1.10.3/ /application/nginx /application/nginx/sbin/nginx lsof -i:80
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 1; events {worker_connections 1024; } http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name www.etiantian.org;location / {root html/www;index index.html index.htm;}}server {listen 80;server_name bbs.etiantian.org;location / {root html/bbs;index index.html index.htm;}}server {listen 80;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 500 502 503 504 /50x.html; #出现对应的http状态码使用50x.html回应 location = /50x.html{ #location 区块开始,访问50x.htmlroot html; #指定对应的站点目录为html }
6、其它扩展知识小结
①利用vim复制命令,复制创建多个server主机标签;即x,ycopyz---10,17copy17
②nginx配置文件编辑技巧,可以利用%在server一对花括号之间进行切换
③304状态码的意义说明
304状态码是浏览器缓存造成的,可以利用装包工具进行查看获取(抓包工具进行理解http访问过程)
取消缓存的方式为:在浏览器设置中进行清除缓存;或者采用浏览器强制刷新功能进行浏览器缓存的刷新
④wireshark抓包软件使用
启动软件---选择需要进行转包的网卡---开始进行抓包
vim批量编辑方法:
ctrl+v进入批量编辑模式
上下箭头选中批量操作的行
shift+i 编辑选中的第一行
按ESC结束编辑,多行同时编辑完成
转载于:https://www.cnblogs.com/yanxinjiang/p/7511528.html
linux运维、架构之路-Nginx服务相关推荐
- Linux运维架构师、SRE技术图谱
Linux运维架构师.SRE技术图谱 Web服务器: apache, tomcat, nginx, lighttpd, varnish 监控: nagios. ganglia. cacti. zabb ...
- linux运维架构师职业规划
1.假如你从来未接触过Linux的话,首先要做的就找一本指导书来学习.现在公认的Linux的入门书籍是"鸟哥的私房菜",讲的很全面,鸟哥的私房菜一共分为两部,一部是基础篇,一部是服 ...
- Linux运维提升之路
目录 运维的职业现状 运维的工作 运维的晋升空间 运维要掌握的必备技能 初级: 中级: 高级: 资深: 运维的时间管理 首先,在进做IT运维行业前,你一定要做好心理准备,这并不是一个轻松的工作,工作中 ...
- linux运维架构篇
集群规划说明 集群架构概念图示 集群案例规划 集群主机规划表 关于主机规划注意事项: 灰色IP地址属于临时使用,企业场景一般没有. 负载均衡器的 VIP10.0.0.3/24 带外网IP的服务器的内网 ...
- www.yaxjf.com+m.php,linux运维架构--PHP开发-零基础学习PHP视频教程
Dockfile介绍 Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令.Docker程序将这些Dockerfile指令 ...
- httpqyl.php,linux运维架构--PHP开发-零基础学习PHP视频教程
Dockfile介绍 Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令.Docker程序将这些Dockerfile指令 ...
- linux运维开发之路(一)— 基础知识篇
一. 虚拟机管理 虚拟机管理的基本命令 [kiosk@foundation6 Desktop]$ rht-vmctl start desktop ## 打开虚拟机 ## [ki ...
- Linux运维工程师岗位前景及学习路线
Linux运维工程师岗位前景及学习路线 1.1 什么是Linux? 大家日常使用电脑听歌.打游戏娱乐或处理日常工作时,接触到最多的就是Windows操作系统,电脑如果不安装Windows系统是无法进行 ...
- 跟老男孩学Linux运维:Web集群实战(运维人员必备书籍)
号外,号外! 1.<跟老男孩学习Linux运维:核心命令案例精讲> 紧张编写中,已过半. 2.<老男孩的MySQL私房菜>即将出版, 紧张编写中,已过2/3. 3.<跟老 ...
最新文章
- linux 入侵检测
- LeetCode Maximum Product Subarray(最大子数组乘积)
- DPDK support for vhost-user(十四)
- 检测生成.xml文件的效果:以人脸xml为例
- 学习笔记26_MVC前台强类型参数
- Linux Shell中有三种引号的用法
- 史上最全ClassLoader总结
- Git如何生成多个ssh key添加到ssh-agent管理项目
- 什么是正则表达式?有什么用?常用的字符有哪些?
- Android基础入门教程——7.5.4 WebView文件下载
- 开题报告的选题依据怎么写?
- 免费的网页截屏API有哪些?
- VideoProc for Mac(全能影片处理软件)
- 微信小程序懒加载测试
- mybatis定义别名
- PDFBox打印PDF A4格式文档和定制规格条码实例
- springboot项目之部署阿里云服务器--简版
- biosrecovery什么意思_BIOS是什么意思``
- PowerMockerJacoco单元测试全解
- typedef和typedef typename
热门文章
- 如何计算并测量ABAP及Java代码的环复杂度Cyclomatic complexity
- unity 3d物体描边效果_从零开始的卡通渲染描边篇
- win10微软图标点击无反应_win10点击任务栏没反应?这样操作就可以了
- js下拉 selenium_selenium的下拉选择框
- hibernate mysql分页_求struts+hibernate实现mysql分页的详细代码
- mysql php 迁移_MySQL数据复制、迁移、转换
- php 判断update返回为0_PHP empty函数判断0返回真还是假
- python unit test 访问开发代码_python unittest 源码分析
- cvc降噪和主动降噪_市面上的降噪耳机,物理降噪和主动降噪,你会怎么选择?...
- 查看git当前tag_常用的 Git 命令清单