一、安装Nginx

安装之前,虚拟机的ip地址应该是动态的。否则,在第一步时,下载依赖包会失败。

查看Nginx的workprocess 查看nginx的版本命令linux_linux


查看Nginx的workprocess 查看nginx的版本命令linux_服务器_02

二、Nginx命令

1、查看版本
./nginx -v
2、检查配置文件正确性
./nginx -t
3、启动Nginx服务
./nginx
4、停止Nginx服务
./nginx - s stop
5、启动完成后可以查看Nginx进程
ps -ef | grep nginx
6、重新加载配置文件
./nginx -s reload

上述命令的使用目录:sbin/

三、配置文件结构

Nginx配置文件(conf/nginx.conf)整体分为三部分:

全局块---------和Nginx运行相关的全局配置
events块-----和网络连接相关的配置
http块---------代理、缓存、日志记录、虚拟主机配置
---------http全局块
---------Server块
-------------------Server全局块
-------------------location块

**注意:**http块中可以配置多个Server块,每个Server块中可以配置多个location块。

查看Nginx的workprocess 查看nginx的版本命令linux_查看Nginx的workprocess_03

四、Nginx具体应用

1、部署静态资源:只需要将文件复制到Nginx安装目录下的html目录中

Nginx可以作为静态web服务器来部署静态资源。静态资源指在服务端真实存在并且能够直接展示一些文件,比如常见的html页面、css文件、js文件、图片、视频等资源。
相对于Tomcat,Nginx处理静态资源的能力更加高校,所以的生产环境下,一般都会将静态资源部署到Nginx中。

server{
	listen 80;		#监听端口
	server_name	localhost;		#服务器名称
	location /{		#匹配客户端请求url
		root html;		#指定静态资源根目录
		index index.html;		#指定默认首页
	}
}

2、反向代理

正向代理 是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。
典型用途:为在防火墙内的局域网客户端提供访问Internet的途径。
正向代理一般是在客户端设置服务器,通过代理服务器转发请求,最终访问到目标服务器。

反向代理 位于用户和服务器之间,但是对应用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器。

用户不需要知道目标服务器的地址,也无须在用户端作任何设定。

查看Nginx的workprocess 查看nginx的版本命令linux_Nginx_04


配置反向代理

server{
	listen 82;
	server_name localhost;
	location /{
		proxy_pass http://192.168.138.101:8080;		#反向代理配置,将请求转发到指定服务
	}
}

查看Nginx的workprocess 查看nginx的版本命令linux_查看Nginx的workprocess_05

3、负载均衡

早期的网站流量e业务比较简单,单台服务器就可以满足基本需求,但随着互联网发展,业务流量越来越大且业务逻辑也越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因此需要多台服务器组成应用集群,进行性能的水平扩展以及避免单点故障出现。

应用集群:将同一应用部署到多台机器上,组成应用集群,接收负载均衡器分发的请求,进行业务处理并返回响应数据。

负载均衡器:将用户请求根据对应的负载均衡算法分发到应用集群中的一台服务器进行处理。

查看Nginx的workprocess 查看nginx的版本命令linux_Nginx_06


配置负载均衡:

upstream targetserver{		#upstream指令可以定义一组服务器
	server 192.168.138.100:8080;
	server 192.168.138.101:8080;
}
server{
	listen	8080;
	server_name localhost;
	location /{
		proxy_pass http://targetserver;
	}
}

查看Nginx的workprocess 查看nginx的版本命令linux_Nginx_07