tengine+tomcat 安装配置笔记

jopen 9年前

以前一直用glassfish, 从3到4, 省事倒是省事,就是太重了,图形界面配置过程中对cpu和内存的消耗较大,常遇到卡死的情况,虽然配置完成后,运行稳定,但还是决定放弃,改用tengine+tomcat。

下载地址:http://tengine.taobao.org/

tengine-1.5.2算是最新的稳定版


tomcat的设置可参见:http://my.oschina.net/u/221951/blog/372406

在安装tengine之前,确认centos环境中有无gcc、pcre、openssl,如果没有按以下命令进行安装

#yum install gcc  #yum -y install pcre-devel  安装最新版本:pcre-devel-7.8-6.el6.i686  #yum install openssl-devel  安装最新版本:openssl-devel-1.0.1e-30.el6_6.5.i686

开始安装tengine,注意确认有无nginx用户和app用户组,或者根据自身情况更改

#tar -vxzf tengine-1.5.2.tar.gz  #cd tengine-1.5.2  #./configure  --prefix=/usr/local/nginx  --user=nginx --group=app --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_concat_module --with-http_upstream_check_module --with-http_sub_module --with-http_realip_module  #make && make install

tengine自启动脚本

#vi /etc/rc.d/init.d/nginx

编辑脚本如下,注意配置目录的对应:

#!/bin/bash  # nginx Startup script for the Nginx HTTP Server  # it is v.0.0.2 version.  # chkconfig: - 85 15  # description: Nginx is a high-performance web and proxy server.  # It has a lot of features, but it's not for everyone.  # processname: nginx  # pidfile: /var/run/nginx.pid  # config: /usr/local/nginx/conf/nginx.conf  nginxd=/usr/local/nginx/sbin/nginx  nginx_config=/usr/local/nginx/conf/nginx.conf  nginx_pid=/usr/local/nginx/logs/nginx.pid  RETVAL=0  prog="nginx"  # Source function library.  . /etc/rc.d/init.d/functions  # Source networking configuration.  . /etc/sysconfig/network  # Check that networking is up.  [ ${NETWORKING} = "no" ] && exit 0  [ -x $nginxd ] || exit 0  # Start nginx daemons functions.  start() {  if [ -e $nginx_pid ];then  echo "nginx already running...."  exit 1  fi  echo -n $"Starting $prog: "  daemon $nginxd -c ${nginx_config}  RETVAL=$?  echo  [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx  return $RETVAL  }  # Stop nginx daemons functions.  stop() {  echo -n $"Stopping $prog: "  killproc $nginxd  RETVAL=$?  echo  [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid  }  reload() {  echo -n $"Reloading $prog: "  #kill -HUP `cat ${nginx_pid}`  killproc $nginxd -HUP  RETVAL=$?  echo  }  # See how we were called.  case "$1" in  start)  start  ;;  stop)  stop  ;;  reload)  reload  ;;  restart)  stop  start  ;;    status)  status $prog  RETVAL=$?  ;;  *)  echo $"Usage: $prog {start|stop|restart|reload|status|help}"  exit 1  esac  exit $RETVAL

接下来保存退出,变更文件权限,

#:wq  #chmod a+x /etc/rc.d/init.d/nginx  #chkconfig --add nginx  #service nginx restart

编辑/user/local/nginx/conf/nginx.conf

# 根据你服务器的cpu核数来确定此值  worker_processes 4;     error_log logs/error.log crit;  #error_log logs/error.log notice;  #error_log logs/error.log info;     #pid logs/nginx.pid;      worker_rlimit_nofile 65535;      # events事件主要用来确定Nginx使用哪种算法    events {        use epoll;        worker_connections 65535;    }        http {     include mime.types;     default_type application/octet-stream;         #log_format main '$remote_addr - $remote_user [$time_local] "$request" '     # '$status $body_bytes_sent "$http_referer" '     # '"$http_user_agent" "$http_x_forwarded_for"';         # 由于Nginx用于代理Tomcat,所以记录访问日志的事情交给Tomcat来做好了,注释掉     #access_log logs/access.log main;        sendfile on;     tcp_nopush on;     tcp_nodelay on;        #keepalive_timeout 0;     keepalive_timeout 65;        server_names_hash_bucket_size 128;     client_header_buffer_size 32k;     large_client_header_buffers 4 32k;     client_max_body_size 3m;     client_body_buffer_size 512k;        # 代理的相关参数设置     proxy_connect_timeout 5;     proxy_read_timeout 60;     proxy_send_timeout 5;     proxy_buffer_size 16k;     proxy_buffers 4 64k;     proxy_busy_buffers_size 128k;     proxy_temp_file_write_size 128k;        # 启用gzip压缩,提高用户访问速度     gzip on;     gzip_min_length 1k;     gzip_buffers 4 16k;     gzip_http_version 1.1;     gzip_comp_level 2;     gzip_types text/plain application/x-javascript text/css application/xml;     gzip_vary on;        # 配置需要代理的tomcat    upstream tomcat_proxy{      ip_hash;             session_sticky;       server 192.168.1.114:8080;    }        # 虚拟主机:www.abc.com    server {       listen 80;       server_name www.abc.com;       index index.html index.htm index.jsp;       root /home/webapp/www/app1;           if (-d $request_filename){         rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;       }           # 动态页面,交给tomcat处理       location ~ \.(jsp|jspx|do|action)?$ {         proxy_set_header Host $host;         proxy_set_header X-Forwarded-For $remote_addr;         proxy_pass http://tomcat_proxy;       }             location /training/ {               proxy_pass        http://tomcat_proxy;              proxy_set_header  Host             $host;               proxy_set_header  X-Real-IP        $remote_addr;               proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;               #sub_filter        /training/          /;           }             # 用户浏览器端的缓存设置        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {          expires 10d;        }                location ~ .*\.(js|css)?$ {          expires 1h;        }                 access_log off;         #charset koi8-r;         #access_log logs/host.access.log main;    }  }

设置确认没有问题,保存退出,可重启: service nginx restart

来自:http://my.oschina.net/u/221951/blog/373094