Linux下配置Nginx和Tomcat

Linux下配置Nginx和Tomcat


系统环境:Welcome to Ubuntu 12.04.5 LTS (GNU/Linux 3.2.0-67-generic x86_64)
本人使用阿里云ECS,系统安装一键WEB环境安装,Ubuntu+jdk7+tomcat7+nginx+vsftp+mysql5.5

首先安装Nginx,安装脚本如下(此脚本来自一键web环境安装,可自行修改目录):

<span style="font-size:14px;">#!/bin/bash
rm -rf nginx-1.6.0
if [ ! -f nginx-1.6.0.tar.gz ];then
  wget http://t-down.oss-cn-hangzhou.aliyuncs.com/nginx-1.6.0.tar.gz
fi
tar zxvf nginx-1.6.0.tar.gz
cd nginx-1.6.0
./configure --user=www \
--group=www 
--prefix=/alidata/server/nginx \
--with-http_stub_status_module \
--without-http-cache \
--with-http_ssl_module \
--with-http_gzip_static_module
CPU_NUM=$(cat /proc/cpuinfo | grep processor | wc -l)
if [ $CPU_NUM -gt 1 ];then
    make -j$CPU_NUM
else
    make
fi
make install
chmod 775 /alidata/server/nginx/logs
chown -R www:www /alidata/server/nginx/logs
chmod -R 775 /alidata/www
chown -R www:www /alidata/www
cd ..
cp -fR ./nginx/config-nginx-tomcat/* /alidata/server/nginx/conf/
sed -i 's/worker_processes  2/worker_processes  '"$CPU_NUM"'/' /alidata/server/nginx/conf/nginx.conf
chmod 755 /alidata/server/nginx/sbin/nginx
#/alidata/server/nginx/sbin/nginx
mv /alidata/server/nginx/conf/nginx /etc/init.d/
mv /alidata/server/nginx/conf/tomcat7 /etc/init.d/
chmod +x /etc/init.d/nginx
chmod +x /etc/init.d/tomcat7
/etc/init.d/nginx start</span>

然后安装Tomcat7,脚本如下:

<span style="font-size:14px;">#!/bin/bash
#userdel tomcat7
#groupadd tomcat7
#useradd -g tomcat7 -M -s /usr/sbin/nologin tomcat7 &> /dev/null
rm -rf apache-tomcat-7.0.54
if [ ! -f apache-tomcat-7.0.54.tar.gz ];then
  wget http://t-down.oss-cn-hangzhou.aliyuncs.com/apache-tomcat-7.0.54.tar.gz
fi
tar zxvf apache-tomcat-7.0.54.tar.gz
mv apache-tomcat-7.0.54/*  /alidata/server/tomcat7
chmod u+x -R /alidata/server/tomcat7/bin
chown www:www -R /alidata/server/tomcat7/
chmod 777 -R /alidata/server/tomcat7/logs
chmod 777 -R /alidata/server/tomcat7/work
/etc/init.d/tomcat7 start</span>
---注:如果出现tomcat不自动加压war包,此问题是tomcat版本的原因,可以自行上传tomcat压缩包

安装完成后进行Nginx和tomcat的配置:
<span style="font-size:14px;">server {
    listen       80 default;	##默认监听端口,default参数在多个配置文件中只能有一个
    server_name  _;		##默认IP访问,此处可以配置域名及二级域名,域名可以有多个,用空格隔开
	index index.html index.htm index.jsp;	##定义默认首页名称
	root /alidata/www/default;	##定义Nginx的默认站点根目录位置

	location ~ .(jsp|action|do)?$ {	 ##截取所有jsp的请求,此处可以是正则表达式,也可以是“/” 表示任何
		proxy_pass    http://127.0.0.1:8080;
	}

	location ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$	##设定访问静态文件直接读取不经过tomcat,并设置缓存时间为30天
	{
		expires 30d;
	}

	location ~ .*\.(js|css)?$	##设置缓存js和css 时间为1小时
	{
		expires 1h;
	}

	access_log  /alidata/log/nginx/access/default.log;	--日志存放目录
}

负载均衡说明:
upstream www.xxx.com {
	#upstream的负载均衡,weight是权重,可以根据机器配置定义权重。weigth参数表示权值,权值越高被分配到的几率越大。
	server 192.168.80.121:80 weight=3;
	server 192.168.80.122:80 weight=2;
	server 192.168.80.123:80 weight=3;
}
server {
	location ~ \.jsp$ {		##截取所有jsp的请求,此处可以是正则表达式,也可以是“/” 表示任何
			proxy_pass    http://www.xxx.com; 此处以http开头,对应上面upstream 后面的名称
	}
}</span>

tomcat的server.xml 文件配置:
在配置文件中修改或添加如下配置:
<span style="font-size:14px;"><Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true"></span>
此处appBase 可以指定到其他文件目录。例如:/home/www/app

你可能感兴趣的:(tomcat,linux,nginx,ubuntu)