最近公司服务前端访问后台出现访问超时,在实际问题查询中发现,相关的请求并没有到后台服务,且后台服务运行正常。通过运维排查,是Nginx服务出现问题。作为一个后台开发,是没有直接接触Nginx的,但是出于好奇想知道什么是Nginx?Nginx是用来做什么的?
Nginx是什么?
Nginx(engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。其他的就不多说了,百度也是可以查到的。
Nginx可以用来做什么?
1.http服务器。Nginx是一个http服务可以独立提供http服务,可以做网页静态服务器。
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
}
2.虚拟主机。可以实现在一台服务器虚拟出多个网站。(同个域名不同端口/不同域名)
upstream test {
server 10.2.3.10:80;
server 10.2.3.10:81;
}
server {
listen 8080;
server_name www.baidu.com;
location / {
proxy_pass http://test;
}
}
3.反向代理、负载均衡。
http {
upstream test {
// 默认方式为轮询
server 10.2.3.10:80;
server 10.2.3.12:80;
// 同一个访问者发出的请求总是由同一个后端服务器来处理
ip_hash
server 10.2.3.10:80;
server 10.2.3.12:80;
// 权重
server 10.2.3.10:80 weight=5;
server 10.2.3.12:80 weight=5;
}
server {
listen 80;
server_name www.star.com;
location / {
proxy_pass http://test;
}
}
}