JDK(Java Development Tookkit)中包含了jre(Java Runtime Environment),而jre是一个java应用运行的基础平台,为此需要在Linux系统上面事先安装JDK环境。然后再安装Tomcat作为web服务器,最后可以将nginx和tomcat进行整合,作为负载均衡和反向代理的基础。
<一>. 安装JDK:
上传文件:使用nick账号上传jdk-6u45-linux-i586.bin到/software下面。
进行安装:
su - nick #切换账号 cd /software #切换路径 mv jdk-6u45-linux-i586.bin /usr/local #移动文件 cd /usr/local #切换路径 chmod 744 jdk-6u45-linux-i586.bin #修改权限:当前用户可执行 ./jdk-6u45-linux-i586.bin #进行安装 rm jdk-6u45-linux-i586.bin #删除安装程序 mv jdk1.6.0_45 jdk #重命名安装目录
设置环境变量:
echo $PATH #查看PATH cd ~ #切换到主目录 vi .bash_profile #编辑当前用户的环境变量
追加如下内容:
JAVA_HOME=/usr/local/jdk PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar export JAVA_HOME PATH CLASSPATH
source .bash_profile #立即生效
java -version #验证是否安装成功
<二>. 安装Tomcat:
上传文件:使用nick账号上传apache-tomcat-6.0.37.tar.gz到/software下面。
su - nick #切换账号 cd /software #切换路径 mv apache-tomcat-6.0.37.tar.gz /usr/local #移动文件 cd /usr/local #切换路径 tar -zxvf apache-tomcat-6.0.37.tar.gz #进行安装 rm apache-tomcat-6.0.37.tar.gz #删除安装程序 mv apache-tomcat-6.0.37 tomcat #重命名安装目录
启动/关闭:
cd /usr/local/tomcat/bin #进入bin路径 ./startup.sh #启动 ./shutdown.sh #启动
设置环境变量:
echo $PATH #查看PATH cd ~ #切换到主目录 vi .bash_profile #编辑当前用户的环境变量
追加如下内容:
CATALINA_HOME=/usr/local/tomcat PATH=$CATALINA_HOME/bin:$PATH export CATALINA_HOME PATH
source .bash_profile #立即生效
进行访问:任意路径都可执行
startup.sh #启动 shutdown.sh #关闭
<三>. nginx与tomcat整合:
项目内部的动态、静态请求都转发至tomcat,项目外部的静态资源请求转发至图片服务器。
1. 代理配置:http作用域.
proxy_connect_timeout 90;
说明:nginx和后端服务器的请求连接超时时间,默认为60s
proxy_read_timeout 90;
说明:连接成功后,排队等候处理超时时间,默认为60s
proxy_send_timeout 90;
说明:后端服务器的数据发送超时时间,默认60s
proxy_buffer_size 16k;
说明:代理缓冲区,保留后端服务器响应的第一部分,通常为响应的头部
proxy_buffers 4 32k;
说明:保留后端服务器的响应数据,每块缓冲区32k,一共有4块
proxy_busy_buffers_size 64k;
说明:系统繁忙时,申请更大的代理缓冲区,推荐为上述值的2倍
proxy_temp_file_write_size 128k;
说明:缓冲区无法保存时,将数据写至临时文件,默认存放目录为nginx安装目录下的/proxy_temp
2. 设置后端tomcat访问路径:http作用域
upstream tomcat_server { server 192.168.142.56:8080; }
3. 项目内部的资源请求转发给tomcat:
server { listen 80; server_name www.excelsoft.com; location / { proxy_pass http://tomcat_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; index index.html index.htm index.jsp index.do; access_log /opt/nginx/logs/access.excelsoft.log access; } location ~* \.(gif|jpg|jpeg|png|bmp|swf)$ { proxy_pass http://tomcat_server; expires 15d; access_log off; } location ~ \.(js|css)$ { proxy_pass http://tomcat_server; expires 1h; access_log off; } }
4. 静态资源虚拟主机:
server { listen 80; server_name static.excelsoft.com; root /software/static; access_log off; location ~* \.(gif|jpg|jpeg|png|bmp|swf)$ { expires 15d; } location ~ \.(js|css)$ { expires 1h; } }
<四>. 测试验证:su - root
1. 校验nginx.conf合法性:
/usr/local/nginx/sbin/nginx -t
2. nginx平滑重启:
kill -HUP `cat /opt/nginx/logs/nginx.pid`