Nginx服务器

1.nginx 是什么

  Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发


2.nginx 的好处

官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定

 2.1 占用内存,cpu少,运行非常稳定

 2.2支持高并发,官方测试支持50000并发


3.nginx的应用

  以下应用都需修改配置文件nginx.conf

 3.1 http服务器

  Nginx是一个http服务,可以独立提供http服务。可做网页静态服务器.修改配置文件:
  1) 如果静态资源位于nginx安装目录下,路径直径写相对路径即可

  2) 如果静态资源位与不是nginx安装目录下,路径要写为绝对路径,即全路径

  如上图如果静态资源位于root路径下,则会报403 Forbidden错误,要在修改配置文件的开头# user nobodyuser root,其它路径可以不做修改
  这样就可以利用nginx通过http直接访问静态资源了

 3.2 虚拟主机

  可以实现一台服务器虚拟出多个网站(因为正常情况下一台服务器只对应一个网址,因为一台服务器只有一个ip),需要多个网站时在配置文件中就添加server即可

  3.2.1 通过端口区分不同虚拟机

    即域名相同,端口号不同

  3.2.2 通过域名区分不同虚拟机

    即端口号相同,但域名不同

 3.3 反向代理、负载均衡

  反向代理分为:正向代理和方向代理
  正向代理:是针对客户端而言,如当客户端想上网时,向代理服务器放松请求,然后代理服务器再请求网络,然后代理服务器响应请求,发送给客户端,可以上网了,如学校机房老师的电脑(代理服务器)和同学们的电脑(客户端)

  反向代理:是针对服务端而言,方向代理服务器决定哪台服务器提供服务,实际方向代理服务器不提供服务器,这是请求的转发。

  当网站的访问量达到一定程度时,单台服务器不能满足用户的请求时,需要多台服务器,集群可使用nginx做方向代理,且反向代理服务器可平均分担负载,不会因某台服务器负载高宕机而某台服务器闲置的情况
  实现:现在有三台tomcat服务器:两个域名www.sian.com.cn和www.sohu.com,这两个域名执行同一台nginx服务器,当用户访问不同的域名时显示不同的内容

  实现过程:同在客户端输入www.sohu.com域名时,经nginx转发到端口为8082的tomcat上,当输入www.sina.com域名时,经nginx转发到端口为8083或8084端口(根据权重weight的大小决定转发的地址)。经nginx转发到不同的tomcat服务器实现了方向代理,转发到相同域名的tomcat服务器(根据权重决定转发的地址)实现了负载均衡

注:

  1) 地址不在是local,改为proxy_pass
  2) 添加upstream 域名
  3)只要涉及到更改域名的情况,必须在本机客户端的host文件添加IP与域名的对应关系(host位于window的C:\Windows\System32\drivers\etc路径下)


4.nginx的安装

 4.1 安装环境配置

  1) 安装gcc的环境。yum install gcc-c++
  2) 安装第三方开发包 PCRE:yum install -y pcre pcre-devel
  3) 安装第三方开发包 zlib:yum install -y zlib zlib-devel
  4) 安装第三方开发包 openssl:yum install -y openssl openssl-devel

 4.2安装步骤

  1) 第一步:把nginx的源码包上传到linux系统
  2)第二步:解压:tar zxf nginx-1.8.0.tar.gz
  3)第三步:使用configure命令创建一makeFile文件

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

  注意:启动nginx之前,上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
  4) 第四步:编译:make
  5) 第五步:安装:make install

 4.3 启动,关闭nginx

  进入到sbin目录
  1) 启动:[root@localhost sbin]# ./nginx(没有翻译,可通过ps aux | grep nginx查看)
  2) 关闭:[root@localhost sbin]# ./nginx -s stop[root@localhost sbin]# ./nginx -s quit
  3)刷新配置文件:[root@localhost sbin]# ./nginx -s reload

 4.4 访问nginx

  nginx默认端口就是i,所以直接在浏览器中输入nginx所在服务器ip即可,就能看到如下界面:


猜你喜欢

转载自blog.csdn.net/wrs120/article/details/80026133