1.为什么使用Nginx
在传统的web项目中,并发量小,用户使用的少。所以在低并发的情况下,用户可以直接访问Tomcat服务器,然后Tomcat服务器返回消息给用户。
为了解决并发,可以使用负载均衡,也就是我们多增加几个Tomcat服务器。当用户访问时,请求可以提交到空闲的Tomcat服务器上。
但是这种情况下可以会出现一种问题,就是Tomcat1正好在工作,所以访问的请求就交给了其他Tomcat操作,而Tomcat之间的数据没有进行同步,所以就发生了我们要请求的数据找不到(如图片)
为了解决这种情况,比如上传图片。就可以想出分布式,我们专门建立一个图片服务器,用来存储图片。当我们上传图片时,不管哪个服务器接收到图片,都把图片上传到图片服务器。
为了解决这种情况,比如上传图片。就可以想出分布式,我们专门建立一个图片服务器,用来存储图片。当我们上传图片时,不管哪个服务器接收到图片,都把图片上传到图片服务器。
2.Nginx的应用场景
- Http服务器。Nginx是一个Http服务,可以独立提供Http服务,可以做网页静态服务器。
- 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
基于端口的,不同的端口。
基于域名的,不同的域名。
- 反向代理、负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群,可以使用Nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
3Nginx的配置
在/usr/nginx/conf目录下nginx.conf文件是Nginx的配置文件
3.1端口和目录的配置
在nginx.conf文件中添加一个server节点,修改端口号就可以。
也就是一个nginx里面可以跑多个端口的服务,这个是Tomcat是有本质区别的。
一个Tomcat只能对应一个端口的多个项目服务。
一个Nginx可以对应多个端口下面的多个项目服务。
server {
# 端口
listen 80;
# 主机名
server_name localhost;
# 资源配置地址
location / {
# HTML
root html;
# 首页地址
index index.html index.htm;
}
}
3.2 通过域名虚拟机
1.需要修改nginx.conf配置文件,修改配置后需要重新加载配置文件
server {
listen 80;
# 配置域名
server_name www.rest1.com;
location / {
root test1;
index index.html index.htm;
}
}
server {
listen 80;
# 配置域名
server_name www.test2.com;
location / {
root test2;
index index.html index.htm;
}
}
2.刷新Nginx配置
3.修改hosts文件,指定ip地址
4.访问
- 需要注意的是host文件的名字要和nginx.conf文件的server_name相同