nginx web服务理论与实战

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
.cn 域名,1个 12个月
简介:

Nginx

LNMP(linux nginx mysql php)也叫LEMP(linux engin x nginx mysql php)

3w并发, 10线程,只需150m内存。。。。稍有点夸张,也说明优秀。

 

 

 

nginx的一下功能:

a.www web服务

b.负载均衡(反向代理)

c.web cacheweb缓存)

 

nginx的优点:

0、配置简单、灵活。

1、高并发(静态小文件),静态1-2wapache并发3-5千。

2、占用资源少。

3、功能多,每一个功能都不是特别强。

4、支持epoll模型。使得nginx可以支持高并发。

5、配合动态服务和apache有区别

6、利用nginx可以对ip限速,可以限制连接数,apache也有但是第三方。

 

调用php时通过fastcgi将需要的php送到fcgi9000端口解析。FCGI是动态并发的瓶颈500-1500,还有mysql也是瓶颈300-1500,但如果sql语句处理不好,并发更小。

 

pv2000万以下,都可以直接用nginx做代理,apache也可作代理,但性能很差,一般没人用。

nginx的缓存相当于vanishsquid

nginx采用epoll模型(采用目录方式)

apache采用select模型(采用select,逐个翻页找)

 

最终建议,对外业务nginx,对内apache

 

安装pcre openssl,yum install 安装即可。nginx的安装模块必须一次搞定,不能像apache那样后来通过模块apxs的方式按进去。

然后编译安装nginx

useradd nginx -s /sbin/nologin -M

cd /home/weipeng/tools/nginx-1.6.2

./configure \

--user=nginx \

--group=nginx \

--prefix=/application/nginx1.6.2 \

--with-http_stub_status_module \

--with-http_ssl_module

 

make&&make install

ln -s /application/nginx1.6.2 /application/nginx

然后启动nginx

1、 /application/nginx/sbin/nginx -t  检查语法

2、  /application/nginx/sbin/nginx   启动nginx

3、 lsof -i :80 查看启动端口80

本地curl 192.168.44.20然后浏览器访问即可看到welcome to nginx的网页。

apache默认站点及目录:DucumentRoot htdocs

nginx默认站点击目录:root html  

 

为什么要采用多模块方式:解耦,即插即用

通过官方http://nginx.org/en/docs/查看模块的使用帮助。这个能力必须会了。

 

nginx是以大括号{}方式,apache是以<>的方式。

nginx的参数,默认用户nobodylog级别一般选择error,只选择错误日志,结尾都有;

 

main标签(整个配置文件) eventsnginx处理连接请求的最大数量) http标签,server标签(用的最多)

/application/nginx/sbin/nginx -s reload 平滑重启nginx服务。

nginx.conf里添加状态码页面如下:

server {

        listen       80;

        server_name  status.weipeng.com;

           stub_status on;

           access_log  off;

}

别名跳转,两种方式:

1、在主名后空格加上别名即可。

2、通过301伪静态跳转如下,其也控制某些人恶搞将其域名解析到本网站ip上,虽然网站内容是我们的网页,但域名是别人的,这样别人的域名就越来越火,比如小明有一个域名,但没有做网页,就是为了养域名知名度,就可以将其DNS解析指向到百度网站ip上以增加域名流量知名度,但如果百度做了301跳转,那么跳转后的域名就是百度的就不是小明的域名了:

 server {

        listen       80;

        server_name  weipeng.com;

        location / {

            root   html;

            index  index.html index.htm;

            rewrite ^/(.*) http://www.weipeng.com/$1 permanent;

           }

     }

 

nginx可以增加日志,要打开开关,然后在server标签里添加如下:

  root   html;

  index  index.html index.htm;

  access_log logs/www_access.log;

 

工作中可能会对nginx的日志进行分析,下去查看文档关于软件awstats的详细介绍,百度可以搜索到。

 

403:禁止访问,服务器拒绝请求。一般都是没有主页文件,且不允许展示目录结构时。

404Not Found,服务器找不到请求的页面。

500:内部服务器错误。

502:坏的网关。

503:服务器当前不可用,可能因为超载或停机维护。

 

nginx也可采用类似apache方式,分类添加域名采用不同目录,也就是添加extra目录,但是与apache不一样的是,得在主配置文件nginx.conf里添加相关语句,将extra引入进去,方式如下,vi nginx.conf,将里面的server标签删除掉,然后添加以下雷荣:

  include extra/www.conf;

  include extra/bbs.conf;

  include extra/blog.conf;

本文转自  流颗星  51CTO博客,原文链接:
http://blog.51cto.com/liukexing/1967316

相关文章
|
5天前
|
负载均衡 网络协议 应用服务中间件
web群集--rocky9.2源码部署nginx1.24的详细过程
Nginx 是一款由 Igor Sysoev 开发的开源高性能 HTTP 服务器和反向代理服务器,自 2004 年发布以来,以其高效、稳定和灵活的特点迅速成为许多网站和应用的首选。本文详细介绍了 Nginx 的核心概念、工作原理及常见使用场景,涵盖高并发处理、反向代理、负载均衡、低内存占用等特点,并提供了安装配置教程,适合开发者参考学习。
|
10天前
|
Java 缓存 数据库连接
揭秘!Struts 2性能翻倍的秘诀:不可思议的优化技巧大公开
【8月更文挑战第31天】《Struts 2性能优化技巧》介绍了提升Struts 2 Web应用响应速度的关键策略,包括减少配置开销、优化Action处理、合理使用拦截器、精简标签库使用、改进数据访问方式、利用缓存机制以及浏览器与网络层面的优化。通过实施这些技巧,如懒加载配置、异步请求处理、高效数据库连接管理和启用GZIP压缩等,可显著提高应用性能,为用户提供更快的体验。性能优化需根据实际场景持续调整。
33 0
|
10天前
|
Java 网络架构 数据格式
Struts 2 携手 RESTful:颠覆传统,重塑Web服务新纪元的史诗级组合!
【8月更文挑战第31天】《Struts 2 与 RESTful 设计:构建现代 Web 服务》介绍如何结合 Struts 2 框架与 RESTful 设计理念,构建高效、可扩展的 Web 服务。Struts 2 的 REST 插件提供简洁的 API 和约定,使开发者能快速创建符合 REST 规范的服务接口。通过在 `struts.xml` 中配置 `&lt;rest&gt;` 命名空间并使用注解如 `@Action`、`@GET` 等,可轻松定义服务路径及 HTTP 方法。
25 0
|
10天前
|
前端开发 API 开发者
JSF与RESTful服务的完美邂逅:如何打造符合现代Web潮流的数据交互新体验
【8月更文挑战第31天】随着互联网技术的发展,RESTful架构风格因其实现简便与无状态特性而在Web服务构建中日益流行。本文探讨如何结合JavaServer Faces (JSF) 和 JAX-RS 构建RESTful API,展示从前端到后端分离的完整解决方案。通过定义资源类、配置 `web.xml` 文件以及使用依赖注入等步骤,演示了在JSF项目中实现RESTful服务的具体过程,为Java开发者提供了实用指南。
21 0
|
10天前
|
开发者 前端开发 开发框架
JSF与移动应用,开启全新交互体验!让你的Web应用轻松征服移动设备,让用户爱不释手!
【8月更文挑战第31天】在现代Web应用开发中,移动设备的普及使得构建移动友好的应用变得至关重要。尽管JSF(JavaServer Faces)主要用于Web应用开发,但结合Bootstrap等前端框架,也能实现优秀的移动交互体验。本文探讨如何在JSF应用中实现移动友好性,并通过示例代码展示具体实现方法。使用Bootstrap的响应式布局和组件可以确保JSF页面在移动设备上自适应,并提供友好的表单输入和提交体验。尽管JSF存在组件库较小和学习成本较高等局限性,但合理利用其特性仍能显著提升用户体验。通过不断学习和实践,开发者可以更好地掌握JSF应用的移动友好性,为Web应用开发贡献力量。
18 0
|
10天前
|
API UED 开发者
如何在Uno Platform中轻松实现流畅动画效果——从基础到优化,全方位打造用户友好的动态交互体验!
【8月更文挑战第31天】在开发跨平台应用时,确保用户界面流畅且具吸引力至关重要。Uno Platform 作为多端统一的开发框架,不仅支持跨系统应用开发,还能通过优化实现流畅动画,增强用户体验。本文探讨了Uno Platform中实现流畅动画的多个方面,包括动画基础、性能优化、实践技巧及问题排查,帮助开发者掌握具体优化策略,提升应用质量与用户满意度。通过合理利用故事板、减少布局复杂性、使用硬件加速等技术,结合异步方法与预设缓存技巧,开发者能够创建美观且流畅的动画效果。
32 0
|
10天前
|
开发者 C# UED
如何轻松将WinUI控件引入Web应用?Uno Platform实战攻略——从环境搭建到性能优化,一探究竟!
【8月更文挑战第31天】Uno Platform 通过支持 WebAssembly,将 WinUI 控件无缝带入 Web,为多平台开发提供了新途径。本文介绍如何在 Web 中使用 WinUI 控件,包括环境搭建、控件使用、性能优化、样式调整及测试调优,助力开发者打造高质量跨平台应用。
28 0
|
10天前
|
前端开发 开发者 Apache
揭秘Apache Wicket项目结构:如何打造Web应用的钢铁长城,告别混乱代码!
【8月更文挑战第31天】Apache Wicket凭借其组件化设计深受Java Web开发者青睐。本文详细解析了Wicket项目结构,帮助你构建可维护的大型Web应用。通过示例展示了如何使用Maven管理依赖,并组织页面、组件及业务逻辑,确保代码清晰易懂。Wicket提供的页面继承、组件重用等功能进一步增强了项目的可维护性和扩展性。掌握这些技巧,能够显著提升开发效率,构建更稳定的Web应用。
30 0
|
10天前
|
JSON API 数据库
探索FastAPI:不仅仅是一个Python Web框架,更是助力开发者高效构建现代化RESTful API服务的神器——从环境搭建到CRUD应用实战全面解析
【8月更文挑战第31天】FastAPI 是一个基于 Python 3.6+ 类型提示标准的现代 Web 框架,以其高性能、易用性和现代化设计而备受青睐。本文通过示例介绍了 FastAPI 的优势及其在构建高效 Web 应用中的强大功能。首先,通过安装 FastAPI 和 Uvicorn 并创建简单的“Hello, World!”应用入门;接着展示了如何处理路径参数和查询参数,并利用类型提示进行数据验证和转换。
27 0
下一篇
DDNS