1.对nginx简单认识一下
借助百度官方给出的答案:nginx是一个高性能的HTTP和反向代理的web服务器,那么什么是反向代理呢???说到这里,笔者给大家对比一下常见的两种代理方式,简单了解一下。
- 正向代理
- 正向代理就是指代理客户端,这种代理对于用户来说是可以感知到的,例如我们有时候想要访问正常情况下不能访问的服务器时,就需要登录VPN来帮助我们做正向代理,这种代理是在客户端,称作正向代理。
- 反向代理
- 反向代理是指代理服务器,在前端nginx就是一个很好的轻量级的反向代理web服务器,在nginx中的conf配置文件中通过proxy_pass配置代理的服务,就可以无感知的在服务器端实现反向代理,这种代理在客户端是无感知的,不影响客户的访问操作。
nginx除了实现反向代理还能做很多事情,例如负载均衡,也可以通过配置就可以轻松实现负载均衡,下面笔者简单介绍一下什么是负载均衡。
- 负载均衡
- 正常情况下,我们的项目部署在服务器端,如果客户访问的并发量不大的时候,服务器是可以承受的,但是很多情况下,用户的访问量通常是高并发的,这时一台服务器就不能承受这么打的请求,就需要多台服务器同时服务。但是可能有的服务器性能较好就可以同时承受很大的并发请求,而有的服务器却只能承受一小部分的。这个时候就可以通过nginx做负载均衡相关的配置,通过upstream这一项配置来配置每一台服务器的权重,实现负载均衡。通常情况下,nginx主要是通过轮询、加权轮询来实现负载均衡的。
2.简单使用一下nginx
- 下载nginx(windows)环境
- 启动nginx,检查是否有问题
- 选取一个本地可以正常运行的项目,将前端代码通过npm run build打包
- 将打包后的文件丢在nginx的html文件夹下
- 修改nginx的conf里面nginx.conf的配置
server {
listen 8080;
server_name localhost; #替换成你的域名
location / {
root /html/deyu-system #替换成网站根目录的实际路径
index index.html index.htm;
}
}
- 一切就绪!看一下我们部署的项目吧!
- 其它配置
http {
# 允许的请求大小
client_max_body_size 20M;
# 允许的IP列表
allow 192.168.0.0/24;
deny all;
# 配置缓存
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
proxy_cache_key "$scheme$request_method$host$request_uri";
# 压缩响应
gzip on;
gzip_proxied any;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
}
最后:大家记住,修改nginx配置文件之后一定要重启nginx哦,只有重启之后新的配置才会生效,重启命令是nginx -s reload,当然大家也可以关闭之后再开启。