设为首页 收藏本站
查看: 725|回复: 0

[经验分享] nginx+tomcat

[复制链接]

尚未签到

发表于 2018-11-16 06:36:58 | 显示全部楼层 |阅读模式
  tomcat:
  1. tomcat安装启动的二个重要变量:JAVA_HOME和CATALINA_HOME
  JAVA_HOME:让系统知道JAVA环境以及JAVA库文件位置
  CATALINA_HOME:tomcat启动时需设置的tomcat目录变量
  JAVA_HOME=/usr/java/jdk_xxxxx
  PATH=$JAVA_HOME/bin:$PATH
  2.可安装APR增强tomcat性能:tomcat-native.tar.gz(APR实现包)
  解压tomcat-native包
  ./config --with-apr=/usr --with-ssl
  make && make install
  nginx:
  1、apache 所有模块都支持动、静态编译,nginx模块都是静态编译,
  2、nginx支持fcgi比apache好,
  3、nginx支持epoll (linux)kqueue(BSD),apache不支持
  4、nginx处理静态文件,索引文件效率非常高
  5、nginx处理并发能力强
  6、nginx由内核和模块组成,内核仅仅负责通过查找配置文件将客户端的请求映射到一个location block,而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作
  7、nginx分为单工作进程和多工作进程,默认为单工作进程
  8、支持rewrite重写规则,能够根据域名和URL的不同将HTTP分发到后端不同的服务器群组上
  9、支持GZIP压缩,节省宽带!
  安装nginx:
  1、需提前安装gcc、openssl-devel、pcre-devel(支持http rewrite模块)、zlib-devel,另memcached是一个C/S架构缓存服务器,nginx如需使用它需开启他自身的memcached模块,PHP如需使用则需安装memcached的PHP客户端memcache,C语言的memcached客户端为libmemcache.
  libevent也是一个nginx依赖的API编程库,(安装开发库默认会安装)它可以提升网络event事件等方面能力,如epoll
  groupadd nginx
  useradd -g nginx nginx
  ./configure --with-http_stub_status_module --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module
  2、nginx配置文件  main指令位于最高层,在main层下面有events、http等层级,然后在http层级里又包含server层,即server block,server block中又分为location层,并且一个server block中可以包含多个location block
  3、配置文件四个部分:main(全局设置)、server(主机设置)、upstream(负载均衡服务器设置)、location(URL匹配特定位置的设置)
  4、upstream是nginx http upstream模块,支持四种调度算法:轮询(默认)weight ip_hash fair url_hash  可以upstream模块中指定算法
  5、在upstream模块的server命令后也可指定每个后端负载均衡服务器的状态:down backup max_fils  fail_timeout(当负载调度算法为ip_hash时,后端服务器在负载均衡中的状态不能是weight和backup)
  6、启用了stub_status模块后可以通过http://ip/nginxstatus来查看nginx运行状态
  7、fastcgi主要的优点就是把动态语言和http server分离开来,使http server专一处理静态请求和转发动态请求,fastcgi:spawn-fcgi与php-fpm 都是第三方的fastcgi进程管理器,http server都可通过他们来对PHP进行解析。推荐使用nginx+php+php-fpm来对php进行解析。
  8、nginx不支持对外部的程序直接调用或解析,所有的外部程序(包括php)必须通过fastcgi接口来调用,
  nginx性能优化:
  1、编译安装过程优化,取消debug模式编译可以减小编译后的文件大小
  2、添加GOOGLE的tcmalloc库优化nginx性能,TCMalloc在内存分配效率和速度上高很多,可以提高服务并发能力,安装google-perftools,(另64 位系统另需先安装libunwind库!)
  3、nginx linux内核参数优化
  如果是用于apache或nginx等web服务器,或者nginx的反向代理,一般可修改如下几个linux内核参数:
  net.ipv4.tcp_tw_reuse = 1
  表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
  net.ipv4.tcp_tw_recycle = 1
  表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
  net.ipv4.ip_local_port_range = 1024 65000
  表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。
  net.ipv4.tcp_syncookies=1
  增强抗syn flood能力 ,防范SYN***
  nginx+tomcat整合: (1、动态页面和静态页面分离  2、多个tomcat负载均衡)
  nginx处理静态html、css、图片、flash等文件,扩展名为.jsp\.do等文件请求,由nginx反向代理到tomcat处理,
  或者直接定义一个虚拟主机,通过二个location指令分别指定nginx处理静态页面,tomcat处理.jsp/.do文件
  upstream tomcat_server{
  server 127.0.0.1:8080;
  }
  server
  {
  listen 80
  server_name www.yourdomain.com;
  index index.html index.htm index.jsp default.jsp index.do default.do;
  root /data/www/htdocs
  location ~ \.(jsp|jspx|do)?$ {  ##匹配以jsp等结尾的文件
  proxy_pass http://tomcat_server;  ##nginx tomcat整合的时候设置jsp等转发到代理的tomcat去处理。
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-For $remote_addr;
  }
  }
  nginx+keepalived +nginx/tomcat +mysql 复制
  keepalived 安装配置:
  ./configure --prefix=/usr/local/keepalived
  make && make install
  下面为将keepalived做成服务模式,方便启动关闭
  cp /usr/local/keepalived/sbin/keepalived /usr/sbin
  cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
  cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
  配置文件:
  mkdir /etc/keepalived
  vim /etc/keepalived/keepalived.conf(上面做成服务模式用service启动关闭后,应在这里新建/etc/keepalived/keepalived.conf这个文件做配置文件,而不是使用原来keepalived安装目录conf下的keepalived.conf文件,应该cp过去再做修改)
  主要修改参数:(主服务器)
  vrrp_instance VI_1 {
  stat MASTER  ##从服务器设置为BACKUP
  interface eth0 ##网卡接口
  virtual_router_id 51
  mcast_src_ip 192.168.3.89  ##本地nginx IP地址
  priority 100  ##优先级 MASTER的优化先级应大于BACKUP的
  }
  virtual_ipaddress {
  192.168.3.23  ##keepalived虚拟出来的前端访问IP 主从服务器应设置为一样
  {


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-635509-1-1.html 上篇帖子: nginx无缝升级 下篇帖子: nginx.conf-java爱好者
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表