Nginx安装及配置、负载均衡、反向代理、虚拟主机

Nginx安装

1. 生产环境是lInuxwindows版也有,它是c语言开发
2. Windows下安装

 

直接解压缩xx.zip格式的即可,点击xx.exe启动

3. Linux下安装

1)xx.tar.gz是源码,需要编译,这是因为c语言开发不跨平台和linux

   版本众多的原因。和redis一样!

2)步骤:

1、需要安装gcc的环境。yum install gcc-c++

2、第三方的开发包。

n PCRE

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginxhttp模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。

yum install -y pcre pcre-devel

注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。

n zlib

zlib库提供了很多种压缩和解压缩的方式,nginx使用zlibhttp包的内容进行gzip,所以需要在linux上安装zlib库。

yum install -y zlib zlib-devel

 

n openssl

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

yum install -y openssl openssl-devel

 

1.1. 安装步骤

 

第一步:把nginx的源码包上传到linux系统

第二步:解压缩

[root@localhost ~]# tar zxf nginx-1.8.0.tar.gz 

第三步:使用configure命令创建一makeFile文件。

带x代表可执行

 

 Nginx安装及配置、负载均衡、反向代理、虚拟主机_第1张图片

上图指定程序安装目录-下述命令先进入到nginx的文件夹内才行

./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下创建tempnginx目录

[root@localhost sbin]# mkdir /var/temp/nginx/client -p

第四步:make

第五步:make install

 Nginx安装及配置、负载均衡、反向代理、虚拟主机_第2张图片

1.2. 启动nginx

进入sbin目录

[root@localhost sbin]# ./nginx 


上图查看nginx进程是否启动成功

关闭nginx

[root@localhost sbin]# ./nginx -s stop

推荐使用:

[root@localhost sbin]# ./nginx -s quit

 

重启nginx

1、先关闭后启动。

2、不关机刷新配置文件:这个比较牛币!!

[root@localhost sbin]# ./nginx -s reload

 

1.3. 访问nginx

 Nginx安装及配置、负载均衡、反向代理、虚拟主机_第3张图片

默认是80端口。

注意:是否关闭防火墙。

默认访问的就是80端口

4. 配置虚拟主机前奏

1)通过端口区分不同的虚拟主机

2就是在一台服务器启动多个网站。

    如何区分不同的网站:

1、域名不同

2、端口不同

3)需要一个editplus。使用步骤:

 Nginx安装及配置、负载均衡、反向代理、虚拟主机_第4张图片

 Nginx安装及配置、负载均衡、反向代理、虚拟主机_第5张图片

 Nginx安装及配置、负载均衡、反向代理、虚拟主机_第6张图片

Nginx安装及配置、负载均衡、反向代理、虚拟主机_第7张图片

5. 开始配置:

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

Nginx的配置文件:

/usr/local/nginx/conf/nginx.conf

下图是指在原server{}复制一份server{}节点!!!!!!!

 Nginx安装及配置、负载均衡、反向代理、虚拟主机_第8张图片

 Nginx安装及配置、负载均衡、反向代理、虚拟主机_第9张图片

这样我们访问81端口就访问html81目录下的内容了

进入nginx目录

重新加载配置文件

[root@localhost nginx]# sbin/nginx -s reload

配置一个新的节点就相当于访问了一个新的网站!想访问静态资源就把资源放到这个html81目录下

但还是没达到我的要求,我想在公网上放一些网站,都通过同一

个端口访问不同的网站(例如80端口)。

2通过域名区分虚拟主机

   DNS服务器就是用来解析域名的。记录着域名和ip的对应关系

   1ip可以被多个域名绑定

本地测试可以修改hosts文件。

修改windowhosts文件:(C:\Windows\System32\drivers\etc

可以配置域名和ip的映射关系,如果hosts文件中配置了域名和ip的对应关系,不需要走dns服务器。

 

这样就可以本机测试了

提供下述工具用来修改本地host文件

 Nginx安装及配置、负载均衡、反向代理、虚拟主机_第10张图片

 Nginx安装及配置、负载均衡、反向代理、虚拟主机_第11张图片

之前配置的一个server{}就是一个虚拟主机

 Nginx安装及配置、负载均衡、反向代理、虚拟主机_第12张图片

这样之后,就相当于在一台服务器上配置了多个网站!!!

6. 反向代理

1)正向代理

比如局域网内a能上网,b不能上网,a当代理服务器,将b的上网请求转发。得下软件....

2)反向代理

   一个ip通过nginx转发给不同的tmcat服务器,实现请求不同网

   站。Tomcat称为应用服务器。

   Nginx请求的转发

3)注意本机host文件里只能配置ip和域名的映射关系,不能带端

   口号。

下图为nginx的抓法配置:

 Nginx安装及配置、负载均衡、反向代理、虚拟主机_第13张图片

7. Nginx实现负载均衡

1)比如新浪两台tomcat 80808082同时提供服务

   这就是集群了。

2)注意在linux下复制tomcat需要修改3个端口

 

 Nginx安装及配置、负载均衡、反向代理、虚拟主机_第14张图片

 Nginx安装及配置、负载均衡、反向代理、虚拟主机_第15张图片

 

3)配置负载均衡

   下图weight=2指配置到下方权重更大。

 Nginx安装及配置、负载均衡、反向代理、虚拟主机_第16张图片

8. 至此nginx三个功能结束

1)访问静态资源,配置一个server去访问目录下面的文件即可。

2)配置虚拟主机有俩:

     域名区分(最多)

     端口区分

3)反向代理

4)负载均衡

9. Nginx实现高可用

1)配置nginx备份机  了解

keepalived+nginx实现主备

keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。

 Nginx安装及配置、负载均衡、反向代理、虚拟主机_第17张图片

Nginx不行了还有:f5还有 lvs+keepalived

你可能感兴趣的:(Nginx安装及配置、负载均衡、反向代理、虚拟主机)