tengine+tomcat+php安装

在安装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用户组,或者根据自身情况更改

#wget http://tengine.taobao.org/download/tengine-2.1.2.tar.gz
#tar -vxzf tengine-2.1.2.tar.gz
#cd tengine-2.1.2
#groupadd app
#useradd -g app nginx
#./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

编辑/usr/local/nginx/conf/nginx.conf

# 根据你服务器的cpu核数来确定此值,一般大于等于cpu核数
worker_processes 2;
	
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;
 	 
 	 #关闭http header 中关于服务器的版本号
 	 server_tokens  off;
 	
 	 #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 localhost:8080 max_fails=3 weight=1 fail_timeout=60s;
 	}

         # 配置需要代理的apache
 	upstream apache_proxy{
	   ip_hash;
           session_sticky;
 	   server localhost:88 max_fails=3 weight=1 fail_timeout=60s;
 	}

 	
 	# 虚拟主机: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;
 	   }

            # 动态页面,交给apache处理
 	   location ~ \.(php)?$ {
 	     proxy_set_header Host $host;
 	     proxy_set_header X-Forwarded-For $remote_addr;
 	     proxy_pass http://apache_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 7d;
 	    }
 	    
 	    location ~ .*\.(js|css)?$ {
 	      expires 24h;
 	    }
 	    
 	     access_log off;
 	     #charset koi8-r;
 	     #access_log logs/host.access.log main;
 	}
}

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏葡萄城控件技术团队

网站HTTP升级HTTPS完全配置手册

今天,所有使用Google Chrome稳定版的用户迎来了v68正式版首个版本的发布,详细版本号为v68.0.3440.75,上一个正式版v67.0.3396....

44300
来自专栏闻道于事

前后端分离之JWT用户认证(转)

在前后端分离开发时为什么需要用户认证呢?原因是由于HTTP协定是不储存状态的(stateless),这意味着当我们透过帐号密码验证一个使用者时,当下一个requ...

23710
来自专栏瞎说开发那些事

linux下利用一次性口令实现 安全管理

22060
来自专栏腾讯云API

腾讯云 API 最佳实践:保护你的密钥

使用腾讯云 API 时,你需要用密钥来签名你的 API 请求。腾讯云接收到你的请求后,会比对你的签名串和实际请求参数。

8.7K110
来自专栏云端架构

【云端架构】常见电脑开放端口及含义

说明:通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果。一种典型的扫描,使用IP地址...

62870
来自专栏派森公园

cookie和token

53650
来自专栏电光石火

tengine+tomcat+php安装

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

25470
来自专栏云计算教程系列

如何使用CentOS 7上的Let's Encrypt来保护Apache

本教程将向您展示如何在运行Apache作为Web服务器的CentOS 7服务器上设置来自Let's Encrypt的TLS / SSL证书。此外,我们将介绍如何...

30800
来自专栏运维一切

玩静态资源加密验证 原

###背景 为了防止裸奔的静态图片和相关的附件被用户拿来随意拼装下载,需要研究特定的用户对特定资源的授权访问方案。当前为了满足大量用户的访问,web服务一般都有...

13120
来自专栏FreeBuf

linux下利用一次性口令实现安全管理

作者 黑狐 [译自vpsboard] Linux服务器一直就是以稳定、高效、安全而著称。安全是比较重要的一个环节,这关系到商业机密,更关系到企业的存亡。本文...

27170

扫码关注云+社区

领取腾讯云代金券