tomcat和nginx的区别,nginx可以替代tomcat直接运行项目包么?
nginx不可以替代tomcat直接运行项目包。
因为ngix是一个http服务器。是一个使用c语言开发的高性能的http服务器及反向代理服务器。Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,而Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。
tomcat和nginx的区别?
1、从应用方面
tomcat一般是做动态解析才会用得到,支持jsp的解析,需要配置JDK支持。
nginx,则一般是做静态,本身不具备动态解析功能,需要配置其他插件或通过其他软件协同才具备动态功能,比如php,tomcat,或者proxypass到win2008的iis服务器做ASP的动态链接等,但nginx在静态上的功能非常强大,也可做访问控制,而且可以做成各种协议负载服务器,包括流媒体的也可以做,具体得去官方网站去看;
2、在性能方面
如果再不做系统调优的情况下,tomcat一般支持并发并不高100个差不多了;nginx在静态方面支持并发轻松达几万。
tomcat与nginx通讯使用的端口?
tomcat默认端口是8080
nginx默认端口是80
在nginx的配置文件中设置api的请求转发端口为tomcat的8080就可以正常使用了
浏览器访问nginx的80端口,可以正常打卡网页
nginx如何实现动静分离?
动静分离
动静分离是根据一定规则把静态文件(html、css、js、jpg等)和动态文件(jsp,.do等)区分开来,采用静态文件和动态文件分开部署,以提高用户访问静态文件的速度,降低对后台应用的访问,提高服务器响应速度和性能。静态文件由Nginx服务器处理,直接获取磁盘文件,动态文件转发到应用服务器中处理,如Tomcat。
创建静态文件目录[root@192 ~]# mkdir /soft/code/static/
将css、jpg文件上传至/soft/code/static目录中,如下图所示:
配置Nginxupstream test {ip_hash;server 192.168.0.105:80;}server {listen 80;server_name 192.168.137.128;#静态资源配置location /static/ {root /soft/code/;autoindex on;}#动态资源配置location /example {proxy_pass http://test;proxy_redirect default;}}
查看静态文件目录测试文件nginx.css文件:
/* 字体居中标红 */p{ text-align:center; color:red;}
nginx.html文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link rel="stylesheet" href="/static/nginx.css" type="text/css" /><title>动态分离</title></head><body><p>Dynamic and static separation demo!</p><img src = "/static/nginx.jpg"/></body></html>
页面测试将nginx.html文件放在Tomcat服务器中,启动Tomcat服务,访问http://nginx_ip:port/example/nginx.html,如下图所示:
注意事项root 指定目录的上级目录,并且该上级目录要含有locatoin指定名称的同名目录。#访问/static/目录下的文件时,Nginx会去/soft/code/static/目录下找文件。location /static/ { root /soft/code/; #列出整个目录 autoindex on; }
修改nginx.conf文件时,要重启Nginx。Nginx启动命令:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
Nginx重启命令:
/usr/local/nginx/sbin/nginx -s reload
Nginx停止命令:
/usr/local/nginx/sbin/nginx -s stop
Nginx错误日志查看[root@192 ~]# cd /usr/local/nginx/logs/
[root@192 logs]# tail -f error.log
如果解决了你的疑惑,请点点关注和评论,谢谢大家支持。
正春华枝俏,待秋实果茂,与君共勉。