热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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、JDK1、上传tar包到系统的/usr/local目录下2、解压缩apache-tomcat-7.0.2
实验环境和软件版本: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文件:找到
appBase="webapps" unpackWARs="true" autoDeploy="true">
在其后追加:
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





<%out.println("Hello World!");%>


用浏览器分别访问 http://ip/index.html
http://ip/index.jsp,
http://ip:8080/index.jsp
到此配置完成!

推荐阅读
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 在IDEA中运行CAS服务器的配置方法
    本文介绍了在IDEA中运行CAS服务器的配置方法,包括下载CAS模板Overlay Template、解压并添加项目、配置tomcat、运行CAS服务器等步骤。通过本文的指导,读者可以轻松在IDEA中进行CAS服务器的运行和配置。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • SpringMVC工作流程概述
    SpringMVC工作流程概述 ... [详细]
author-avatar
袁善恩芷恩
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有