nginx web服务理论与实战

简介:

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

相关文章
|
9月前
|
开发框架 监控 安全
Windows Defender 导致 Web IIS 服务异常停止排查
某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。
961 116
|
10月前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
1243 0
|
10月前
|
存储 JavaScript 安全
Web渗透-XSS漏洞深入及xss-labs靶场实战
XSS(跨站脚本攻击)是常见的Web安全漏洞,通过在网页中注入恶意脚本,窃取用户信息或执行非法操作。本文介绍其原理、分类(反射型、存储型、DOM型)、测试方法及xss-labs靶场实战案例,帮助理解与防御XSS攻击。
3003 1
Web渗透-XSS漏洞深入及xss-labs靶场实战
|
10月前
|
安全 Linux PHP
Web渗透-命令执行漏洞-及常见靶场检测实战
命令执行漏洞(RCE)指应用程序调用系统命令时,用户可控制输入参数,导致恶意命令被拼接执行,从而危害系统安全。常见于PHP的system、exec等函数。攻击者可通过命令连接符在目标系统上执行任意命令,造成数据泄露或服务瘫痪。漏洞成因包括代码层过滤不严、第三方组件缺陷等。可通过参数过滤、最小权限运行等方式防御。本文还介绍了绕过方式、靶场测试及复现过程。
2000 0
|
存储 应用服务中间件 nginx
在使用Nginx之后,如何在web应用中获取用户IP以及相关原理
但总的来说,通过理解网络通信的基础知识,了解http协议以及nginx的工作方式,我们已经能在大多数情况下准确地获取用户的真实IP地址了,在调试问题或者记录日志时会起到很大的帮助。
897 37
|
中间件 Go
Golang | Gin:net/http与Gin启动web服务的简单比较
总的来说,`net/http`和 `Gin`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
714 35
|
开发框架 安全 前端开发
Go Web开发框架实践:模板渲染与静态资源服务
Gin 是一个功能强大的 Go Web 框架,不仅适用于构建 API 服务,还支持 HTML 模板渲染和静态资源托管。它可以帮助开发者快速搭建中小型网站,并提供灵活的模板语法、自定义函数、静态文件映射等功能,同时兼容 Go 的 html/template 引擎,具备高效且安全的页面渲染能力。
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。
|
机器学习/深度学习 开发框架 API
Python 高级编程与实战:深入理解 Web 开发与 API 设计
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧以及数据科学和机器学习。本文将深入探讨 Python 在 Web 开发和 API 设计中的应用,并通过实战项目帮助你掌握这些技术。
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
1161 7