ddsdjn 发表于 2018-11-14 13:26:06

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 cache(web缓存)
  nginx的优点:
  0、配置简单、灵活。
  1、高并发(静态小文件),静态1-2w,apache并发3-5千。
  2、占用资源少。
  3、功能多,每一个功能都不是特别强。
  4、支持epoll模型。使得nginx可以支持高并发。
  5、配合动态服务和apache有区别
  6、利用nginx可以对ip限速,可以限制连接数,apache也有但是第三方。
  调用php时通过fastcgi将需要的php送到fcgi的9000端口解析。FCGI是动态并发的瓶颈500-1500,还有mysql也是瓶颈300-1500,但如果sql语句处理不好,并发更小。
  日pv2000万以下,都可以直接用nginx做代理,apache也可作代理,但性能很差,一般没人用。
  nginx的缓存相当于vanish、squid。
  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的参数,默认用户nobody,log级别一般选择error,只选择错误日志,结尾都有;
  main标签(整个配置文件) events(nginx处理连接请求的最大数量) http标签,server标签(用的最多)

  /application/nginx/sbin/nginx -s>  在nginx.conf里添加状态码页面如下:
  server {
  listen       80;
  server_namestatus.weipeng.com;
  stub_status on;
  access_logoff;
  }
  别名跳转,两种方式:
  1、在主名后空格加上别名即可。
  2、通过301伪静态跳转如下,其也控制某些人恶搞将其域名解析到本网站ip上,虽然网站内容是我们的网页,但域名是别人的,这样别人的域名就越来越火,比如小明有一个域名,但没有做网页,就是为了养域名知名度,就可以将其DNS解析指向到百度网站ip上以增加域名流量知名度,但如果百度做了301跳转,那么跳转后的域名就是百度的就不是小明的域名了:
  server {
  listen       80;
  server_nameweipeng.com;
  location / {
  root   html;
  indexindex.html index.htm;
  rewrite ^/(.*) http://www.weipeng.com/$1 permanent;
  }
  }
  nginx可以增加日志,要打开开关,然后在server标签里添加如下:
  root   html;
  indexindex.html index.htm;
  access_log logs/www_access.log;
  工作中可能会对nginx的日志进行分析,下去查看文档关于软件awstats的详细介绍,百度可以搜索到。
  403:禁止访问,服务器拒绝请求。一般都是没有主页文件,且不允许展示目录结构时。
  404:Not 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;

页: [1]
查看完整版本: nginx web服务理论与实战