对于常用的服务器,大家可能更多的知道apache,tomcat,lls等服务器。我们跟多的了解到nginx常常用于反向代理。而实质是nginx也是一个高性能服务器。常用于前端页面资源静态化和负载均衡的反向代理。
下面就由博主带你认识nginx。以及nginx的反向代理、资源静态化,和压测对比。
笔者环境是ubuntu18.04.所以下载东西是非常简单。centos 的yum源也有nginx。对于window。直接下载使用即可。
sudo apt get nginx sudo chomd -R 777 apache-jmeter-5.1.1
这样,一些基本的工具就下载完成啦。直接nginx或者sudo nginx访问 localhost
就有hello nginx 就是安装成功,对于jmeter 如果安装可以到官网进行安装。
对于nginx安装后的一些路径,都在
还有nginx的一些常用关闭命令
如果权限不足记得加上 sudo
/etc/nginx/conf.d/
下新建
proxy.conf
(也可以在nginx/nginx.conf中配置) 就比如我想用我本地8081端口代理到本地的nginx上
upstream tomcat-server{ server 47.100.58.250:8080 ; } server{ listen 8081; server_name localhost; location / { proxy_pass http://tomcat-server; root html; index index.html; } } 复制代码
对于nginx/nginx.conf我进行了修改去掉一些暂时用不到的。
user root; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; client_max_body_size 20m; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; } 复制代码
这样,你在本地就可以代理访问服务器地址 http://localhost:8081/ 当然,如果有多个server可以在upstream中进行配置,还可配置各个节点的权重等等。具体就不介绍了。
在前后端分离流行的当今。nginx被许多前端爱好者接受。通过nginx能够简单的将静态资源部署,从而达到动静分离的效果。
nginx配置静态资源服务器很简单 在上述同级文件conf.d/下新建static.conf
server { listen 8082; server_name localhost; location / { root /home/tomcat9/webapps/ROOT/; autoindex on; } } 复制代码
其中root为tomcat的绝对路径(可以随便配置),我事先对tomcat的首页的index.jsp跑起来存成index.html文件。
那么现在我们已经完成 两件事
: 8081端口负载均衡(反向代理到我服务器)
, 8082端口制成本地tomcat的静态文件服务器
。
那么开启tomcat。左面是nginx做服务器返回静态