Nginx概念及安装(一)

Nginx虽然小,可是对开发来讲开发起来并不简单,是经过epoll模型实现的异步Webhtml

Nginx特色:方便,简单灵活,占用系统资源少,对静态小文件处理好的Web服务软件linux

  • Nginx特性: 
  • 1.支持高并发(能支持几万台并发链接,特别是静态小文件业务环境) 
    2.资源消耗少(在3万台并发链接下,开启10个Nginx线程消耗的内存不到200MB)

Nginx概念

1.Nginx是一个开源的,支持高并发的www服务和代理服务nginx

2.nginx具备高并发,特别是对静态网页,占用系统资源少等特性web

3.nginx不可是一个优秀的web服务软件,还具备反向代理负载均衡和缓存的服务功能。nginx部署及其方便。apache

在与apache对比中,为何Nginx的整体性能高?

nginx用户是epoll模型(异步IO非阻塞模型),apache用的是select模型(同步IO阻塞模型)windows

4.png-315kB

 

编译安装

1.先安装支持包 
yum -y install pcre-devel openssl-devel 
2.解压编译包到/usr/src 
tar xf 安装包 -C /usr/src 
3.建立程序用户 
useradd -s /sbin/nologin -M www 
4.进行编译安装 
cd /usr/src/nginx 
./configure --user=用户名 --group=组 --prefix=指定目录(如:/usr/local/nginx) --with-http_stub_status_module --with-http_ssl_module && make && make install
修改环境变量(作软链接) 
ln -s /usr/local/nginx/sbin/* /usr/local/bin/ 
5.5.png-232.7kB
6.从备份的配置文件中去了#号和空行重定向到配置文件中 
6.png-73.2kB
精简Nginx配置文件(去了报错的行) 
7.png-213.9kB
8.png-197.1kB
9.png-360kB
浏览器

首页文件表示若是用户只输入域名,不输入URi,就默认去找index.html和index.htm这两个网页(若是这两个网页也没有,那就表示找不到了)缓存

Nginx

  • 用绝对路径能够启动服务脚本 
    5.png-58.7kB
  • 2.在用nginx时系统防火墙要关闭
  • 3 curl这个命令是模拟访问的
  • 4用户在访问网站时不能看到根上边的网页文件
  • windows也是在访问linux中的网页时须要修改映射文件,windows映射文件(C盘/windows/system32/drives/etc/hosts)
 

搭建网页过程

一个web服务器搭建多个网站有三种方法: 
1.基于不一样域名的虚拟网站(工做中经常使用) 
2.基于不一样监听端口的虚拟网站(能够实现用IP去访问多个域名) 
3.基于不一样IP的虚拟网站
安全

1.先到配置文件中修改 
2.从新启动服务 
/usr/local/nginx/sbin/nginx -s reload 平滑重启,不影响正在链接的用户 
3.根据配置文件中的模块去建立网页文件,而且添加网页内容 
4.增长映射文件内容 
6.png-138.6kB
5.用curl去检测 
curl www.yunjisuan.com
服务器

问题

 

 

    • 若是一个IP去搭建多个网站,那么用域名去访问就能访问获得他想要的网页文件,而用IP去访问获得的是配置文件中的第一个的模块网页文件(优先级是从上往下)
    • 若是一个IP多个域名,客户机用域名去访问,服务机就能拿到它想要的,那么服务端是怎么知道客户端的想要去访问的哪一个域名呢?

       

      web服务器能够在用户发送过来的报文中的头部能够查看用户想看的具体域名 
      curl -v yunjisuan.com 查看报文内容 
      7.png-400.7kB

    • 在同一个IP多个域名的状况下,用IP去访问网站默认给的是第一个虚拟网站,可是有时候是不能让他去访问的为何??

      由于DNS映射的过程有一个追踪的过程,若是正常输入域名解析IP,DNS提供服务的公司先要追查你的位置,若是是合法的用户,才能解析成功而且正常访问。而黑客绝对不会走正常解析过程,确定是用IP地址(经过IP地址访问不经过DNS解析)过去的。所以要想个办法让非法用户不能默认访问第一个网站,因此要把网站作成防黑的 
      8.png-157.3kB

    • 为何服务端知道用户端用的哪一个浏览器在上网? 由于用户发送的访问报文中的头部里有

相关问题及解答

 

1.tengine和nginx是什么关系

Tengine是淘宝开源Nginx的分支,官方站点为http://tengine.taobao.org/

 

2.特殊的403报错是什么状况?

如:配置文件中默认的www.yunjisuan.com首页是html下的index.html,然而这个index.html网页文件却不存在,当用户在网页上输入域名进行访问时,就会出现403报错。
缘由:当用户输入www.yunjisuan.com访问时,浏览器会自动把换成http://www.yunjisuan.com/,而它又找不到首页网页文件,因此就默认给用户看/下的全部文件,这样的话会被nginx的安全机制拒绝,因此就会出现403报错

nginx默认的安全机制是开启的,而apache默认的安全机制是关闭的

 

3.可能形成403错误的缘由:

(1)特殊的403报错 
(2)访问的网页文件权限不够(例如:设置的程序用户为www,而网页文件权限为700,属主、属组都为root,这样的话www用户是没有办法进行访问的,因此就会致使403错误) (3)访问的网页文件所在的目录没有x权限(如:程序用户为www,网页文件所在的目录为www目录,而www目录权限为744,属主、属组都为root,这样用户对目录没有可执行权限,就进不去目录。因此就致使403错误

相关文章
相关标签/搜索