`
squall140
  • 浏览: 146268 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

CentOS6.2下Nginx1.3+Tomcat7配置

 
阅读更多

实验环境和软件版本:CentOS6.2,nginx-1.3.0.tar.gz,apache-tomcat-7.0.27.tar.gz,jdk-6u11-linux-i586-rpm.bin.gz

一、安装Tomcat、JDK

1、上传tar包到系统的/usr/local目录下

2、解压缩apache-tomcat-7.0.27.tar.gz,并更名为tomcat7(方便记)

#tar zxvf apache-tomcat-7.0.27.tar.gz

#mv apache-tomcat-7.0.27  tomcat7

 

3、解压缩JDK并安装(如果你安装系统时已经安装了java环境, 则3、4步骤可省略)

#gunzip jdk-6u11-linux-i586-rpm.bin.gz

#./jdk-6u11-linux-i586-rpm.bin

 

4、配置环境变量

编辑/etc/profile文件(注:养成编辑前备份的好习惯)

#cd /etc/

#cp profile profile.bak

 

追加如下内容:

JAVA_HOME="/usr/java/jdk1.6.0_11" 
CLASS_PATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib" 
PATH=".:$PATH:$JAVA_HOME/bin "  
CATALINA_HOME="/usr/local/tomcat7" 
export JAVA_HOME CATALINA_HOME 


5、启动Tomcat并检测安装是否成功

 #cd /usr/local/tomcat7/bin/

#./startup.sh

浏览器中输入:http://ip:8080/,看看是否会出现一个猫。前提是你的firewall必须放开对8080的访问。

 

6、设置Tomcat的服务目录

#cd /usr/local/tomcat7/conf/

编辑server.xml文件:找到

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">

在其后追加:

<Context path="" docBase="/var/www/html" debug="0" reloadable="true"/>

将“/var/www/html”换成你自己的放置网站的目录。

再次打开http://ip:8080/,看是否是你想要访问的页面。

 

二、安装Nginx

1、获取Nginx-1.3.0,并解压

#cd /usr/local/

#wget http://nginx.org/download/nginx-1.3.0.tar.gz

#tar zxvf nginx-1.3.0.tar.gz

2、编译安装

#cd nginx-1.3.0 
#./configure --with-http_stub_status_module --with-http_ssl_module  #启动server状态页和https模块
#make 
可能出现的错误:

错误1、

[root@localhost nginx-1.3.0]# ./configure  --with-http_stub_status_module --with-http_ssl_module  
checking for OS  
 + Linux 2.6.32-220.el6.i686 i686  
checking for C compiler ... not found  
 
./configure: error: C compiler gcc is not found 
原因:缺少gcc包

解决方式:#yum -y install gcc

错误2、

libtool: compile: unrecognized option `-DHAVE_CONFIG_H'  
libtool: compile: Try `libtool --help' for more information.  
make[1]: *** [pcrecpp.lo] 错误 1 
make[1]: Leaving directory `/usr/local/pcre-8.30'  
make: *** [all] 错误 2 
原因:缺少包

解决方式:#yum -y install gcc-c++

重新执行

#./configure --with-http_stub_status_module --with-http_ssl_module  #启动server状态页和https模块

#make

错误3、缺少pcre library,这个是http rewrite的模块。

解决方式:

#cd /usr/local/  
#wget
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.30.tar.gz  
#cd pcre-8.30 
#./configure  
#make  
#make install 
继续安装Nginx:

 #./configure --with-http_stub_status_module --with-http_ssl_module

#make

#make install

4、简要配置Nginx。

安装成功后的nginx在/usr/local/nginx.

在/usr/local/nginx/conf/下新建proxy.conf,用于配置一些代理参数,内容如下:

#!nginx (-)   
# proxy.conf   
proxy_redirect          off;  
proxy_set_header        Host $host;  
proxy_set_header        X-Real-IP $remote_addr;  #获取真实ip  
#proxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for; #获取代理者的真实ip  
client_max_body_size    10m;  
client_body_buffer_size 128k;  
proxy_connect_timeout   90;  
proxy_send_timeout      90;  
proxy_read_timeout      90;  
proxy_buffer_size       4k;  
proxy_buffers           4 32k;  
proxy_busy_buffers_size 64k;  
proxy_temp_file_write_size 64k;  
编辑conf/nginx.conf文件,内容如下:

#运行nginx所在的用户     
#user  nobody;      
    
#启动进程数     
worker_processes 8;     
#全局错误日志及PID文件     
error_log  /usr/local/nginx/logs/nginx_error.log  crit;     
    
pid        /usr/local/nginx/nginx.pid;     
    
#Specifies the value for maximum file descriptors that can be opened by this process.     
    
worker_rlimit_nofile 65535;     
#工作模式及连接数上限     
events     
{     
  use epoll;     
  worker_connections 65535;     
}     
#设定http服务器,利用它的反向代理功能提供负载均衡支持     
http     
{     
  #设定mime类型     
  include       mime.types;     
  default_type  application/octet-stream;     
  include /usr/local/nginx/conf/proxy.conf;     
  #charset  gb2312;     
  #设定请求缓冲         
  server_names_hash_bucket_size 128;     
  client_header_buffer_size 32k;     
  large_client_header_buffers 4 32k;     
  client_max_body_size 8m;  (在1.3中加入这个参数验证配置时报错,就去掉了)   
           
  sendfile on;     
  tcp_nopush     on;     
    
  keepalive_timeout 60;     
    
  tcp_nodelay on;     
    
#  fastcgi_connect_timeout 300;     
#  fastcgi_send_timeout 300;     
#  fastcgi_read_timeout 300;     
#  fastcgi_buffer_size 64k;     
#  fastcgi_buffers 4 64k;     
#  fastcgi_busy_buffers_size 128k;     
#  fastcgi_temp_file_write_size 128k;     
    
#  gzip on;     
#  gzip_min_length  1k;     
#  gzip_buffers     4 16k;     
#  gzip_http_version 1.0;     
#  gzip_comp_level 2;     
#  gzip_types       text/plain application/x-javascript text/css application/xml;     
#  gzip_vary on;     
    
  #limit_zone  crawler  $binary_remote_addr  10m;     
 ###禁止通过ip访问站点     
  server{     
        server_name _;     
        return 404;     
  }
    
  server     
  {     
    listen       80;     
    server_name 
www.xxx.com;     
    index index.html index.htm index.jsp;#设定访问的默认首页地址     
    root  /var/www/html;#设定网站的资源存放路径     
    
    #limit_conn   crawler  20;         
         
    location / {  
            root   /var/www/html;  
            index  index.html index.htm;  
    }  
 
    location ~ \.(jsp|jspx\do)?$ {  
           index index.jsp;  
           proxy_pass
http://localhost:8080;  
    }  
        
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #设定访问静态文件直接读取不经过tomcat     
    {     
      expires      30d;     
    }     
    
    location ~ .*\.(js|css)?$     
    {     
      expires      1h;     
    }         
    
#定义访问日志的写入格式     
     log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '     
              '$status $body_bytes_sent "$http_referer" '     
              '"$http_user_agent" $http_x_forwarded_for';     
    access_log  /usr/local/nginx/logs/localhost.log access;#设定访问日志的存放路径     
    
      }     
}   
5、验证配置

#/usr/local/nginx/sbin/nginx -t

错误:

[root@localhost conf]# /usr/local/nginx/sbin/nginx -t  
/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory  
解决方法:在/lib中创建一个symbol link到/usr/local/lib/libpcre.so.1

 [root@localhost conf]# ln -s /usr/local/lib/libpcre.so.1 /lib

若出现如下信息,则表示配置正确,否则需按错误提示进行配置文件更正

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

6、启动Nginx服务

#/usr/local/nginx/sbin/nginx

出现告警信息:

nginx: [warn] the "log_format" directive may be used only on "http" level in /usr/local/nginx/conf/nginx.conf:

这是新版本的问题,需要我们将log_format的定义放到server的前面。如果你是直接更改的nginx.conf文件,你会发现这一句原本就是在server的前面的。

查看nginx主进程:

#ps -ef | grep "nginx: master process"| grep -v "grep"| awk -F ' ''{print $2}'

7、停止Nginx服务

#/usr/local/nginx/sbin/nginx -s stop

三、联合测试

在/var/www/html/下新建两个文件index.html,index.jsp,内容如下:

[root@localhost bin]# cat /var/www/html/index.html
hello world

[root@localhost bin]# cat /var/www/html/index.jsp
<html>
<head>
<title>Nginx Test</title>
</head>
<body>
<%out.println("<h1>Hello World!</h1>");%>
</body>
</html>

用浏览器分别访问 http://ip/index.html

http://ip/index.jsp,

http://ip:8080/index.jsp

分享到:
评论

相关推荐

    CentOS 6.2+Nginx+mysql

    CentOS 6.2+Nginx+mysql

    lnmp(centos6.2+nginx+mysql+php)环境搭建系统教程--宋正河

    本教程由宋正河创作,主要针对CentOS 6.2操作系统,搭配Nginx 1.2.0、MySQL 5.5.3和PHP 5.4.3的版本进行详细讲解。以下是对这个环境搭建过程的详尽解析: 首先,我们需要了解Linux,特别是CentOS 6.2,这是一个基于...

    CentOS6.2下配置Django+Python环境步骤

    在CentOS 6.2系统下配置Django与Python环境是一项关键任务,尤其对于那些希望在稳定的企业级Linux操作系统上部署动态网站或Web应用的开发者而言。以下将详细阐述整个配置流程,涵盖从安装必要的软件包到最终启动...

    CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13

    CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13

    nginx+tomcat7+memcached session会话保持

    总结起来,这个配置方案通过Nginx的会话保持功能配合Tomcat7与Memcached的集成,确保了用户会话在跨服务器环境下的连续性。同时,这种架构也具有良好的可扩展性和容错性,因为即使某台服务器宕机,其他服务器仍能...

    centos7安装+tomcat+mysql+jdk+nginx配置步骤

    centos7安装+tomcat+mysql+jdk+nginx配置步骤,按着步骤走傻子都能做出来,非常详细

    centOS8 安装LNMT(nginx+mysql+tomcat).pdf

    centOS8 安装LNMT(nginx+mysql+tomcat),此文档为本人原创的文档,有兴趣可以看一下: 本文在centos8基础上进行安装,软件版本如下: 名称 版本 安装方式 备注 jdk 13.0.2 rpm Oracle jdk,目前最新版本 nginx...

    Nginx+Tomcat配置SSL双向验证示例

    本资源是一个 CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证配置示例。详细如何配置请参考博客《图文:CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证》,地址是:...

    基于CentOS 7.6 配置Nginx + Tomcat

    本文详细说明了如何在CentOS 7.6环境下配置Nginx作为反向代理服务器,并将请求分发给不同的Tomcat实例。通过这种方式,可以灵活地部署和管理多个Web应用,同时利用Nginx强大的反向代理功能和负载均衡能力,提升Web...

    Nginx+KeepAlived+Tomcat负载架构

    ### Nginx+KeepAlived+Tomcat负载架构详解 #### 一、概述 随着互联网应用的日益增多,单一服务器已经难以满足高并发、高可用性的需求。因此,越来越多的企业开始采用集群技术来提高系统的稳定性和扩展性。本文将...

    CentOs7.3部署nginx+tomcat+redis集群说明.docx

    CentOs7.3部署nginx+tomcat+redis集群说明.docx

    配置CentOS下的Nginx+Mysql+PHP+Tomcat

    在配置CentOS下的Nginx+Mysql+PHP+Tomcat的环境时,首先需要进行的是CentOS的安装和基础配置。以下为详细的步骤: ### 安装CentOS 7.0 1. 在安装CentOS时选择最小安装模式,确保选中“调试工具”、“兼容性程序库”...

    Nginx+Tomcat+Memcached共享session集群配置

    ### Nginx+Tomcat+Memcached 共享 Session 集群配置 #### 一、概述 在大型分布式系统中,为了实现高可用性和负载均衡,常常会使用 Nginx 作为反向代理服务器来分发请求到后端多个 Tomcat 实例上。然而,传统的基于...

    CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本

    CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本,Docker version 18.06.1-ce,docker-compose version 1.22.0

    在阿里云服务器上配置CentOS+Nginx+Python+Flask环境

    本教程将详细介绍如何在阿里云服务器上配置一个CentOS系统,然后安装Nginx作为反向代理服务器,以及Gunicorn作为WSGI服务器,最后集成Python和Flask来实现一个完整的Web服务环境。 首先,确保你的阿里云服务器是...

    CentOS系统安装配置Nginx+keepalived实现负载均衡

    CentOS系统安装配置Nginx+keepalived实现负载均衡 本文将详细介绍CentOS系统安装配置Nginx+keepalived实现负载均衡的步骤和配置过程。通过本文,读者将了解如何使用Nginx和keepalived来实现高可靠性的负载均衡架构...

    Nginx+Tomcat负载均衡企业实战.docx

    Nginx+Tomcat负载均衡企业实战.docx 本文档主要介绍了 Nginx+Tomcat 负载均衡的企业实战,涵盖了从0开始构建 Nginx WEB 平台、Tomcat WEB 集群、代码发布、Nginx 负载均衡 Tomcat 集群、动静分离、Rewrite 实战等...

    CentOS7下Nginx+Tomcat负载均衡及Redis共享Session解决方案

    本解决方案将详细介绍如何在`CentOS7`上配置`Nginx`以实现`Tomcat`的负载均衡,并利用`Redis`进行Session共享,以提高系统的可扩展性和用户会话的一致性。 首先,我们需要在`CentOS7`上安装`Nginx`。可以使用`yum`...

Global site tag (gtag.js) - Google Analytics