什么是Nginx
Nginx是一款轻量级的Web 服务器/反向***服务器及电子邮件(IMAP/POP3)***服务器。
特点是占有内存少,并发能力强。
中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
正向***,反向***,负载均衡
1.正向***
- 客户端(浏览器)的***,是正向***。需要使用可在浏览器上配置***。
- 例如:客户端想访问一个网站,但是客户端访问不了这个网站,可是客户端却能访问***服务器,***服务器可以帮助客户端访问该网站。客户端先将请求发给***服务器,***服务器再将请求转发给该网站,该网站的响应结果先发给***服务器,然后再由***服务器转发给客户端。
2.反向***
- 服务端的***,是反向***,***服务是由服务端提供的,和客户端无关
反向***服务器位于用户与目标服务器之间,但是对于用户而言,反向***服务器就相当于目标服务器,即用户直接访问反向***服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。
好处:①提高了内部服务器的安全 ②可以实现负载均衡
- 例如:百度的负载均衡实现
让***服务器将请求均匀转发给多台内部Web服务器其中之一,从而达到负载均衡的目的。
如何分配任务:通过负载均衡算法,如:轮询法
3.负载均衡
服务器集群时的压力均衡,将工作任务(负载)进行平衡、分摊到多个服务器进行运行,协同完成工作任务。
Nginx目录结构
Windows版
Linux版
Nginx的简单使用
1.Nginx基本操作
Window下:在cmd里切换到nginx的目录里之后执行命令
1.启动nginx:start nginx
2.重新加载配置文件:nginx -s reload
3.关闭nginx:nginx -s stop
Linux下:进入Nginx的sbin目录之后执行命令
1.启动nginx: ./nginx
2.重新加载配置文件: ./nginx -s reload
3.关闭nginx: ./nginx -s stop
配置文件后都要重新加载配置文件
2.使用Nginx部署静态web项目
准备好静态web项目后,配置nginx.conf
...
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root 静态web项目的位置,比如:E:\\myItem\\test;
index index.html index.htm;
}
...
重新加载配置文件,启动nginx,使用浏览器访问nginx( http://ip地址:80)
3.使用Nginx实现负载均衡
多个服务器部署相同的项目后,修改nginx.conf
......
#固定格式
upstream myservers{
server ip地址:端口 weight=10;
server ip地址:端口 weight=5;
server ip地址:端口 weight=2;
#weight:权重,越高被访问的机率越大(分配到任务的机率越大)
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
index index.html index.htm;
#固定格式
proxy_pass http://myservers;
}
....
重新加载配置文件,启动nginx,使用浏览器访问nginx( http://ip地址:80)